Files
Hofei90 ec4b6c0b2f
CI / checks (push) Successful in 1m43s
M0: Projektgerüst für Hercules Pyloaded
- Django 6.0 mit Einstellungen aus Umgebungsvariablen (SQLite lokal, PostgreSQL im Betrieb)
- Pakete engine (reine Spielregeln) und game (Startseite, Health-Check, Worker-Platzhalter)
- uv mit Lockfile, ruff, mypy (strict für engine), pytest mit Smoke-Tests
- pre-commit-Hooks und vorbereiteter Gitea-Actions-Workflow
- Dockerfile und docker-compose (web, worker, db)
- README, CLAUDE.md, MIT-Lizenz

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 11:50:40 +02:00

42 lines
1005 B
YAML

# Betrieb: web (Django + gunicorn), worker (Ereignis-Queue), db (PostgreSQL).
# Vorher .env aus .env.example anlegen.
services:
db:
image: postgres:17
restart: unless-stopped
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
retries: 10
web:
build: .
restart: unless-stopped
env_file: .env
command: >
sh -c "python manage.py migrate --noinput &&
gunicorn config.wsgi:application --bind 0.0.0.0:8000 --workers 3"
ports:
- "8000:8000"
depends_on:
db:
condition: service_healthy
worker:
build: .
restart: unless-stopped
env_file: .env
command: python manage.py run_worker
depends_on:
db:
condition: service_healthy
volumes:
pgdata: