build: Docker-Images, Compose-Setup und Gitea-Workflows
- Mehrstufige Dockerfiles je Dienst mit Stufen für Entwicklung und Betrieb, beide Images laufen als unprivilegierter Benutzer - Backend-Entrypoint wartet auf die Datenbank, migriert und seedt nur bei leerem Kategoriebaum (neues Flag --if-empty) - docker-compose.yml mit Netz-Trennung, Healthchecks und benannten Volumes; die Datenbank ist ausschließlich im internen Netz erreichbar - nginx liefert das Bundle aus und reicht /api weiter; index.html ungecacht, gehashte Assets ein Jahr - Gitea-Workflows: ci.yml für Lint, Tests und Bundle-Bau, build.yml für die Images nach linux/amd64 ohne Deploy-Schritt - docs/runner.md und docs/deployment.md, .dockerignore je Dienst Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014e7t8UpmoVNMtWivY5LiSH
This commit is contained in:
+6
-4
@@ -18,7 +18,9 @@ TAG=latest
|
||||
POSTGRES_DB=moneyfy
|
||||
POSTGRES_USER=moneyfy
|
||||
POSTGRES_PASSWORD=bitte-aendern
|
||||
# Vom Backend genutzte DSN. `postgresql://` wird automatisch auf asyncpg umgestellt.
|
||||
# Wird beim Betrieb mit Compose aus den drei Werten darüber zusammengesetzt und
|
||||
# muss dort nicht gesetzt werden. Nur für den Betrieb ohne Compose nötig.
|
||||
# `postgresql://` wird automatisch auf asyncpg umgestellt.
|
||||
DATABASE_URL=postgresql+asyncpg://moneyfy:bitte-aendern@moneyfy-db:5432/moneyfy
|
||||
|
||||
# --- Sicherheit --------------------------------------------------------------
|
||||
@@ -42,9 +44,9 @@ OIDC_CLIENT_SECRET=
|
||||
OIDC_SCOPES=openid profile email
|
||||
|
||||
# --- Logo-Service ------------------------------------------------------------
|
||||
# Verzeichnis für den lokalen Logo-Cache (im Container auf das Volume gemountet).
|
||||
# Logos werden ausschließlich von hier ausgeliefert – im Seitenaufruf entsteht
|
||||
# kein Zugriff auf fremde Dienste.
|
||||
# Verzeichnis für den lokalen Logo-Cache. Beim Betrieb mit Compose zeigt es fest
|
||||
# auf das Volume und muss hier nicht gesetzt werden. Logos werden ausschließlich
|
||||
# von dort ausgeliefert – im Seitenaufruf entsteht kein Zugriff nach außen.
|
||||
LOGO_STORAGE_DIR=/data/logos
|
||||
|
||||
# Der lokale simple-icons-Katalog deckt die meisten Marken ohne Netzzugriff ab.
|
||||
|
||||
Reference in New Issue
Block a user