REST API 기반 초간단 텍스트 메모 서버
- Python 100%
| .gitignore | ||
| amumal-server.py | ||
| conf.py | ||
| init_db.py | ||
| mysql.py | ||
| README.md | ||
| requirements.txt | ||
아무말 서버
REST API 기반 초간단 텍스트 메모 서버
설치
요구사항
- VPN 솔루션 (e.g. Tailscale) <<<<< 외부에서 사용하려 할 경우 매우중요
- MariaDB 서버
- Python 3.11+ (3.11.9에서 테스트함)
설치 방법 (Ubuntu)
# 1. MariaDB Server 설치 (이미 했다면 건너뜀)
sudo apt install mariadb-server
sudo sudo mariadb-secure-installation # 하라는 대로 따라할 것
sudo mysql
# MariaDB 콘솔에 해당 명령어를 전부 입력
# 유저명과 암호는 변경이 가능하나 conf.py를 따로 설정해야 함
CREATE DATABASE amumal;
CREATE USER 'amumal_d'@'localhost' IDENTIFIED BY 'InternalUseOnly';
GRANT ALL ON amumal.* to 'amumal_d'@localhost;
FLUSH PRIVILEGES;
# 완료했다면 Ctrl+D로 나감
# 2. venv 세팅(권장)
python3 -m venv ./venv
source venv/bin/activate
pip3 install -r requirements.txt
# 3. DB 리셋
python3 init_db.py
# 4. 서버 실행
python3 amumal-server.py
API 사용 방법
API 포트는 conf.py를 참조할 것 (기본 42069이며 수정 가능함)
메모 쓰기
- URL : /
- 메서드 : POST
- Request Body : text/plain (쓰고 싶은 내용)
- 정상 처리 시 "Done"이 반환됨
메모 불러오기
- URL : /
- 메서드 : GET
- URL 파라미터 (선택) :
- limit : 불러올 데이터의 개수 (기본 50)
- page : limit을 기준으로 한 페이지 (기본 1)
- asc : 오래된 메모부터 불러올 지의 여부 (기본 False)
- 반환 : JSON
- 예시 :
[{"idx": 1, "content": "test", "written_at": "2025-05-12 15:51:46"}, ...]
- 예시 :
메모 삭제하기
- URL : /
메모 번호 - 메서드 : DELETE
- 정상 처리 시 "Done"이 반환됨
메모 수정하기
- URL : /
메모 번호 - 메서드 : PATCH
- Request Body : text/plain (쓰고 싶은 내용)
- 정상 처리 시 "Done"이 반환됨