Minecraft Java Edition 서버 상태 조회 API
docker compose up --buildPostgreSQL, Redis, API 서버가 모두 함께 실행됩니다. DB와 테이블은 자동 생성됩니다.
http://localhost:8000에서 접속할 수 있습니다.
# 빌드
docker build -t <dockerhub-username>/mcstatus-v2:<tag> .
# 로그인 (최초 1회)
docker login
# 푸시
docker push <dockerhub-username>/mcstatus-v2:<tag>- Python 3.11+
- uv
- PostgreSQL
- Redis
uv sync
cp .env.example .env # 필요시 수정
createdb mcstatus # DB 생성 (테이블은 서버 시작 시 자동 생성)
uv run python main.pyhttp://localhost:8000에서 시작됩니다. API 문서는 http://localhost:8000/docs에서 확인할 수 있습니다.
.env 파일 또는 시스템 환경변수로 설정합니다. Docker 사용 시 compose.yml에서 설정합니다.
| 변수 | 기본값 | 설명 |
|---|---|---|
DATABASE_URL |
postgresql+asyncpg://postgres:postgres@localhost:5432/mcstatus |
PostgreSQL 연결 문자열 |
REDIS_URL |
redis://localhost:6379/0 |
Redis 연결 문자열 |
ENV |
development |
development: 읽기 쉬운 로그, production: JSON 로그 |
CACHE_TTL |
300 |
Redis 캐시 TTL (초) |
TCP_TIMEOUT |
3 |
MC 서버 연결 타임아웃 (초) |
BATCH_MAX |
20 |
일괄 조회 최대 서버 수 |
HISTORY_MAX_HOURS |
24 |
일반 사용자 이력 조회 최대 시간 |
HISTORY_PAGE_SIZE |
50 |
관리자 이력 조회 기본 페이지 크기 |
ADMIN_USERNAME |
admin |
관리자 API Basic Auth 사용자명 |
ADMIN_PASSWORD |
admin |
관리자 API Basic Auth 비밀번호 |
CORS_ORIGINS |
* |
허용할 CORS origin (쉼표 구분) |