redgoose 컨텐츠 API 프로젝트 이 API 프로그램은 Goose에서 시작된 개인용 CMS 중 하나의 프로젝트입니다.
로컬 개발 환경에서 구동하기 위하여 다음과 같이 실행합니다. 패키지 매니저는 UV가 필요합니다.
# clone repo
git clone https://github.com/redgoose-dev/goose-api.git
cd goose-api
# install uv (if not installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# activate virtualenv
uv sync
# install app
uv run install.py
# run server
uv run uvicorn main:app --reload --host 0.0.0.0 --port 8000서버 스크립트 실행은 main.py파일에서 시작합니다.
API를 설치하고 계정이 하나도 없어서 로그인을 할 수 없습니다. OAuth로 프로바이더를 등록하는 방법도 있지만 서버를 띄우고 curl로 요청을 보내서 비밀번호 프로바이더를 만들 수 있습니다.
먼저 로컬서버를 띄우고 다음과 같이 명령어 내용을 수정하고 실행합니다.
curl -X PUT "http://localhost:{PORT}/auth/provider/" \
-H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \
-d "id={ID}&name={NAME}&password={PASSWORD}&email={EMAIL}"주요 테크스택은 다음과 같습니다.
자세한 구성은 pyproject.toml파일을 참고하세요.
docker hub: https://hub.docker.com/r/redgoose/goose-api
services:
goose-api:
container_name: slideshow-local
image: redgoose/goose-api:latest
ports:
- "8000:80"
volumes:
- ./data:/app/data
- ./.env:/app/.env
- ./.env.local:/app/.env.local
environment:
- PYTHONUNBUFFERED=1