Files
ArchiveCostWebapp/docker-compose.prod.yml
T

61 lines
2.2 KiB
YAML

services:
logic-red:
build: ./logic
volumes:
- ./logic/node-red-data:/data
- ./shared_data:/data/results # Hier landen die JSON/SQLite Dateien
- ./logic/scripts:/data/scripts
environment:
- TZ=Europe/Zurich
- GROUPINFO_JSON_LNK_NAME=archivegroup_information.json
- GROUPINFO_JSON_LNK_NAME_WITH_PATH=/data/archivegroup_information.json
- NON_SPECIFIED_GROUPS=/data/non_specified_groups.csv
- BEGIN_NAME_GROUPINFO_JSON_FILE=size_by_ownergroup_and_number_of_copies_
- BEGIN_NAME_GROUPINFO_JSON_FILE_WITH_PATH=/data/size_by_ownergroup_and_number_of_copies_
- ERROR_LOGFILE=/data/logs/get_new_groupinfo_error.log
- JSON_CACHE=json_cache.json
- JSON_CACHE_WITH_PATH=/data/json_cache.json
- AD_SERVER=d.psi.ch
- AD_SEARCH_BASE=DC=d,DC=psi,DC=ch
- AD_USER=${AD_USER}
- AD_PASSWORD=${AD_PASSWORD}
- METABASE_API_KEY=${METABASE_API_KEY}
# Behalte size_by_ownergroup_and_number_of_copies_ Files juenger als CLEANUP_TIME Tage
- CLEANUP_TIME=20
# Ausfuehrungszeitpunkt fuer den Cleanup im Cron-Format (Minuten Stunden * * *)
- CLEANUP_CRON=0 7 * * *
# Pfad zum Cleanup-Skript
- CLEANUP_SCRIPT_PATH=/data/scripts/cleanup.sh
# Pfad zum Logfile des Cleanup-Skripts
- CLEANUP_LOGFILE_PATH=/data/logs/cleanup.log
# Ausfuehrungszeitpunkt fuer den Haupt-Workflow im Cron-Format
- MAIN_WORKFLOW_CRON=0 6 * * *
secrets:
- ad_user
- ad_password
- metabase_api_key
ports:
- "1880:1880"
# --- NEUER STREAMLIT CONTAINER ---
analytics-app:
build: ./analytics
ports:
- "8501:8501" # Standard-Port für Streamlit im Browser
volumes:
- ./analytics:/app # Mappt deinen Code, damit Änderungen live ohne Rebuild sichtbar sind
- ./shared_data:/data:ro # Bindet die JSON-Daten NUR LESEND unter /data ein
- ./analytics/config:/app/config # Mappt den config Ordner
- ./analytics/data:/app/data # Mappt den data Ordner
environment:
- TZ=Europe/Zurich
# Deklarieren, dass die Secrets von "außen" kommen
secrets:
ad_user:
external: true
ad_password:
external: true
metabase_api_key:
external: true