chore(backend): bootstrap Python 3.12+ project skeleton (B0.1)

- pyproject.toml with ruff + mypy strict + pytest + coverage >=70%
- Makefile with Docker/Podman auto-detect
- Multi-stage Dockerfile (python:3.12-slim-bookworm, non-root user)
- docker-compose.yml for Postgres dev DB
- alembic.ini wired to src/mimic/db/migrations
- scripts/postgres-init/00-roles.sql seeds the audit writer role
- .env.example documents every MIMIC_* var (no secrets committed)
This commit is contained in:
knacky
2026-05-21 20:32:29 +02:00
parent 047583eb9c
commit 72a0e857a4
9 changed files with 448 additions and 0 deletions

23
backend/.env.example Normal file
View File

@@ -0,0 +1,23 @@
# Mimic backend — example env. Copy to .env (gitignored) and adapt.
MIMIC_ENV=development
MIMIC_SECRET_KEY=replace-me-with-secrets.token_urlsafe-32
MIMIC_FERNET_KEY=
# Database
POSTGRES_DB=mimic
POSTGRES_USER=mimic_app
POSTGRES_PASSWORD=mimic_dev_password
MIMIC_DATABASE_URL=postgresql+psycopg://mimic_app:mimic_dev_password@localhost:5432/mimic
MIMIC_DATABASE_AUDIT_URL=postgresql+psycopg://mimic_audit_writer:CHANGE_ME@localhost:5432/mimic
# Session / cookies
MIMIC_SESSION_COOKIE_SECURE=false
MIMIC_SESSION_COOKIE_SAMESITE=Lax
# CORS (frontend dev)
MIMIC_CORS_ORIGINS=http://localhost:5173
# Logging
MIMIC_LOG_LEVEL=DEBUG
MIMIC_LOG_JSON=false