M0: Projektgerüst für Hercules Pyloaded
CI / checks (push) Successful in 1m43s

- 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>
This commit is contained in:
Hofei90
2026-09-25 11:50:40 +02:00
commit ec4b6c0b2f
36 changed files with 1410 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# 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: