Skip to content

redgoose-dev/goose-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

399 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goose-api

redgoose 컨텐츠 API 프로젝트 이 API 프로그램은 Goose에서 시작된 개인용 CMS 중 하나의 프로젝트입니다.

Usage

로컬 개발 환경에서 구동하기 위하여 다음과 같이 실행합니다. 패키지 매니저는 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파일에서 시작합니다.

Add password provider

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}"

Tech Stack

주요 테크스택은 다음과 같습니다.

자세한 구성은 pyproject.toml파일을 참고하세요.

Docker

docker hub: https://hub.docker.com/r/redgoose/goose-api

docker-compose

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

About

goose api application

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages