diff --git a/.env.example b/.env.example index cce781b..31f5813 100644 --- a/.env.example +++ b/.env.example @@ -12,6 +12,8 @@ # 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 @@ -20,6 +22,8 @@ # 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 @@ -46,7 +50,10 @@ APP_URL=https://shinkan.jinkendo.de ALLOWED_ORIGINS=https://shinkan.jinkendo.de ENVIRONMENT=production -MEDIA_DIR=/app/media +# 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 diff --git a/docker-compose.dev-env.yml b/docker-compose.dev-env.yml index 231da53..f41e39e 100644 --- a/docker-compose.dev-env.yml +++ b/docker-compose.dev-env.yml @@ -1,5 +1,6 @@ # Keine festen container_name — Compose-Namen haben Projektprefix (-postgres-1). -# Gleiche Variablennamen wie docker-compose.yml; andere Werte in einer eigenen .env neben dieser Datei. +# Medien: In .env SHINKAN_MEDIA_HOST (Host-Pfad) und optional MEDIA_ROOT (Container-Pfad) setzen. +# Default Host /shinkan-media/dev — Verzeichnis ggf. anlegen oder Compose legt es an. services: postgres: @@ -43,8 +44,9 @@ services: MEDIAWIKI_CATEGORY_SKILLS: "${MEDIAWIKI_CATEGORY_SKILLS:-Fähigkeitsbeschreibung}" MEDIAWIKI_CATEGORY_METHODS: "${MEDIAWIKI_CATEGORY_METHODS:-Methodenbeschreibung}" MEDIAWIKI_CATEGORY_MODELS: "${MEDIAWIKI_CATEGORY_MODELS:-Reifegradmodelle}" + MEDIA_ROOT: "${MEDIA_ROOT:-/app/media}" volumes: - - dev-shinkan-media:/app/media + - ${SHINKAN_MEDIA_HOST:-/shinkan-media/dev}:${MEDIA_ROOT:-/app/media} ports: - "8098:8000" depends_on: @@ -70,7 +72,6 @@ services: volumes: dev-shinkan-db-data: - dev-shinkan-media: networks: dev-shinkan-network: diff --git a/docker-compose.yml b/docker-compose.yml index b41c62e..4231662 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -52,8 +52,10 @@ services: MEDIAWIKI_CATEGORY_SKILLS: "${MEDIAWIKI_CATEGORY_SKILLS:-Fähigkeitsbeschreibung}" MEDIAWIKI_CATEGORY_METHODS: "${MEDIAWIKI_CATEGORY_METHODS:-Methodenbeschreibung}" MEDIAWIKI_CATEGORY_MODELS: "${MEDIAWIKI_CATEGORY_MODELS:-Reifegradmodelle}" + # Medien: Host-Pfad SHINKAN_MEDIA_HOST (in .env), Ziel im Container MEDIA_ROOT. + MEDIA_ROOT: "${MEDIA_ROOT:-/app/media}" volumes: - - shinkan-media:/app/media + - ${SHINKAN_MEDIA_HOST:-/shinkan-media}:${MEDIA_ROOT:-/app/media} ports: - "8003:8000" depends_on: @@ -79,7 +81,6 @@ services: volumes: shinkan-db-data: - shinkan-media: networks: shinkan-network: