docs+deploy: production status, lessons learned (9 bugs), deploy compose, e2e test tools
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user