# === .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 # Übungs-KI (Docker): ohne Eintrag im compose „environment:“ landet keine .env-Zeile im Container. # Hier ist SHINKAN_AI_DEBUG in docker-compose*.yml angebunden — 1 = ausführliche WARN-Logs (exercise_ai, openrouter). # SHINKAN_AI_DEBUG=1 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). # Prod: Verzeichnis VOR erstem "docker compose up" anlegen (z. B. sudo mkdir -p …/prod). # Wenn Docker meldet "chown … operation not permitted": oft NAS/NFS oder Rechte — lokalen Pfad nutzen. 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