1
0
Fork 0
REST API 기반 초간단 텍스트 메모 서버
Find a file
2025-05-12 20:53:08 +09:00
.gitignore scratch 2025-05-12 16:43:43 +09:00
amumal-server.py add read_one 2025-05-12 20:53:08 +09:00
conf.py scratch 2025-05-12 16:43:43 +09:00
init_db.py scratch 2025-05-12 16:43:43 +09:00
mysql.py scratch 2025-05-12 16:43:43 +09:00
README.md raise default retrieve limit 2025-05-12 19:53:59 +09:00
requirements.txt scratch 2025-05-12 16:43:43 +09:00

아무말 서버

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"이 반환됨