# Produktive Deployment-Konfiguration (orange-desktop). # Stack-Pfad: /media/orange/RocketChat/refboard-ayon/ # compose.yaml (diese Datei) + .env + data/ + repo/ # DNS: refboard.niklashmotion.art → 89.57.47.213 (nginx vhost: /etc/nginx/sites-enabled/refboard.conf) # # WICHTIG (Lessons siehe README): # - ayon-private_default MUSS als external network IM Service-Block hängen # (top-level reicht nicht — überlebt kein `up --force-recreate`) # - REFBOARD_API_KEY muss EXAKT dem AYON-Secret 'refboard_api_key' entsprechen; # der Wert enthält '=' → nie mit cut -d= extrahieren, immer sed "s/^KEY=//" # - nach Secret-Änderungen: docker compose up -d --force-recreate name: refboard-ayon services: refboard-ayon: image: refboard-ayon:latest build: ./repo container_name: refboard-ayon environment: PORT: 8000 NODE_ENV: production JWT_SECRET: ${JWT_SECRET:?set in .env} JWT_EXPIRES_IN: 7d DB_PATH: /app/data/refboard.db STORAGE_BACKEND: ${STORAGE_BACKEND:-fs} STORAGE_DATA_DIR: /app/data/storage REFBOARD_API_KEY: ${REFBOARD_API_KEY:?set in .env} AYON_EXCHANGE_URL: ${AYON_EXCHANGE_URL:?set in .env} CORS_ORIGIN: ${CORS_ORIGIN:-*} MAX_FILE_SIZE_MB: 200 ports: - "0.0.0.0:8003:8000" volumes: - ./data:/app/data restart: unless-stopped networks: - default - ayon-private_default networks: default: name: refboard-ayon_default ayon-private_default: external: true