All checks were successful
Deploy Development / deploy (push) Successful in 36s
Test Suite / pytest-backend (push) Successful in 25s
Test Suite / lint-backend (push) Successful in 0s
Test Suite / build-frontend (push) Successful in 7s
Test Suite / playwright-tests (push) Successful in 22s
Bind-Mount statt Named-Volumes für Backend-/app/media; MEDIA_ROOT wird an den Container durchgereicht (entspricht FastAPI). .env.example: MEDIA_DIR durch SHINKAN_MEDIA_HOST/MEDIA_ROOT ersetzt, Kommentare für Prod/Dev. Co-authored-by: Cursor <cursoragent@cursor.com>
65 lines
2.3 KiB
Plaintext
65 lines
2.3 KiB
Plaintext
# === .env neben der Jeweiligen docker-compose.*.yml kopieren ====================
|
||
# Docker Compose ersetzt ${VARIABLE} beim Start.
|
||
#
|
||
# Pro Umgebung eigene Datei (z. B. ~/docker/shinkan/.env für Prod,
|
||
# ~/docker/shinkan-dev/.env für Dev) — dieselben SCHLÜSSEL, unterschiedliche Werte.
|
||
# Kein separates DEV_APP_URL vs APP_URL: immer APP_URL, ALLOWED_ORIGINS, DB_*, …
|
||
|
||
# ─── Typische Werte PROD (docker-compose.yml) ─────────────────────────────────
|
||
# DB_NAME=shinkan
|
||
# DB_USER=shinkan_user
|
||
# DB_PASSWORD=…
|
||
# APP_URL=https://shinkan.jinkendo.de
|
||
# ALLOWED_ORIGINS=https://shinkan.jinkendo.de
|
||
# ENVIRONMENT=production
|
||
# SHINKAN_MEDIA_HOST=/shinkan-media
|
||
# MEDIA_ROOT=/app/media
|
||
|
||
# ─── Typische Werte DEV (docker-compose.dev-env.yml) ─────────────────────────
|
||
# DB_NAME=shinkan_dev
|
||
# DB_USER=shinkan_dev
|
||
# DB_PASSWORD=dev_password
|
||
# APP_URL=https://dev.shinkan.jinkendo.de
|
||
# ALLOWED_ORIGINS=https://dev.shinkan.jinkendo.de,http://192.168.2.49:3098
|
||
# ENVIRONMENT=development
|
||
# SHINKAN_MEDIA_HOST=/shinkan-media/dev
|
||
# MEDIA_ROOT=/app/media
|
||
|
||
# ─── Ab hier: eine ausfüllbare Vorlage (bei uns meist Prod-Defaults) ───────────
|
||
DB_HOST=postgres
|
||
DB_PORT=5432
|
||
DB_NAME=shinkan
|
||
DB_USER=shinkan_user
|
||
DB_PASSWORD=CHANGE_ME_SECURE_PASSWORD
|
||
|
||
OPENROUTER_API_KEY=your_api_key_here
|
||
OPENROUTER_MODEL=anthropic/claude-sonnet-4
|
||
|
||
SMTP_HOST=smtp.example.com
|
||
SMTP_PORT=587
|
||
SMTP_USER=noreply@jinkendo.de
|
||
SMTP_PASS=your_smtp_password
|
||
SMTP_FROM=noreply@jinkendo.de
|
||
SMTP_SSL=
|
||
SMTP_STARTTLS=
|
||
|
||
AUTO_ADMIN_FIRST_USER=true
|
||
ADMIN_BOOTSTRAP_EMAILS=
|
||
|
||
APP_URL=https://shinkan.jinkendo.de
|
||
ALLOWED_ORIGINS=https://shinkan.jinkendo.de
|
||
ENVIRONMENT=production
|
||
|
||
# Medien (Docker Compose): SHINKAN_MEDIA_HOST = Verzeichnis auf dem Host (Bind-Mount),
|
||
# MEDIA_ROOT = gleicher Pfad im Container (muss mit dem Mount-Ziel übereinstimmen — FastAPI).
|
||
SHINKAN_MEDIA_HOST=/shinkan-media
|
||
MEDIA_ROOT=/app/media
|
||
|
||
MEDIAWIKI_API_URL=https://karatetrainer.net/api.php
|
||
MEDIAWIKI_USER=Jinkendo
|
||
MEDIAWIKI_PASSWORD=CHANGE_ME
|
||
MEDIAWIKI_CATEGORY_EXERCISES=Übungen
|
||
MEDIAWIKI_CATEGORY_SKILLS=Fähigkeitsbeschreibung
|
||
MEDIAWIKI_CATEGORY_METHODS=Methodenbeschreibung
|
||
MEDIAWIKI_CATEGORY_MODELS=Reifegradmodelle
|