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
+25
View File
@@ -0,0 +1,25 @@
FROM python:3.14-slim
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy \
UV_PROJECT_ENVIRONMENT=/opt/venv \
PATH="/opt/venv/bin:$PATH"
WORKDIR /app
COPY pyproject.toml uv.lock README.md LICENSE ./
RUN uv sync --frozen --no-dev --no-install-project
COPY . .
RUN uv sync --frozen --no-dev \
&& DJANGO_SECRET_KEY=build-only DJANGO_DEBUG=false python manage.py collectstatic --noinput
RUN useradd --create-home hercules
USER hercules
EXPOSE 8000
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "3"]