Files
signage/docker-compose.yml
Erik Thiele 048f2499d8 fix: fehlende Volume-Mounts und Zeitzone in docker-compose
Mit read_only: true und ohne volumes lag /app vollstaendig auf einem
schreibgeschuetzten Dateisystem. Die App konnte weder history.json noch
config.json oder users.json schreiben und auch keine Medien ablegen -
Login endete mit OSError, Einstellungen und Willkommensseiten wurden
nicht gespeichert. Das README dokumentierte die Mounts bereits, die
Datei selbst hatte sie nie.

Zusaetzlich TZ=Europe/Berlin: is_item_active() wertet die Serverzeit
aus, ohne TZ laeuft der Container in UTC und alle Zeitfenster der
Playlist-Zeitsteuerung waeren um ein bis zwei Stunden verschoben.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-02 14:54:32 +02:00

33 lines
918 B
YAML

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