services: signage: container_name: signage build: context: . dockerfile: Dockerfile platforms: - linux/amd64 image: gitea.teamthiele.de/ethiele/signage:latest ports: - "5005:5005" restart: unless-stopped read_only: true tmpfs: - /tmp cap_drop: - ALL security_opt: - no-new-privileges:true volumes: # Ohne diese Mounts liegt /app auf dem read-only Root-FS und die App # kann weder Konfiguration noch Verlauf noch Medien schreiben. - ./media:/app/media - ./config.json:/app/config.json - ./users.json:/app/users.json - ./history.json:/app/history.json environment: - OPENAI_API_KEY=${OPENAI_API_KEY:-} # Zeitzone: die Zeitsteuerung der Playlist wertet die Serverzeit aus, # ohne TZ laeuft der Container in UTC und Zeitfenster verschieben sich. - TZ=Europe/Berlin