Readme erzeugt

This commit is contained in:
Erik Thiele
2026-04-17 14:09:11 +02:00
parent caebdf8eb9
commit 97f047497a

122
README.md
View File

@@ -0,0 +1,122 @@
📺 CANCOM Simple Signage
CANCOM Simple Signage ist ein leichtgewichtiges, browserbasiertes DigitalSignageSystem auf Basis von Python + Flask.
Ziel ist eine einfache, robuste und wartbare Lösung für interne InfoScreens, ohne die Komplexität klassischer DigitalSignagePlattformen.
✨ Features
✅ Browserbasierter Player (kein nativer Client erforderlich)
✅ Bilder & Videos (MP4, H.264)
✅ Pro Screen eine eigene Playlist
✅ Drag&DropReihenfolge im AdminPortal
✅ Automatischer PlayerReload bei Änderungen
✅ Upload & Löschen von Medien
✅ ScreenStatus (aktiv / leer)
✅ CIkonformes AdminUI (CANCOM)
✅ Läuft lokal, in VMs oder auf Proxmox
🧱 Architektur
CSSBrowser (Player) │ ▼Flask App (Server)├── Admin UI├── Player UI├── config.json└── media/ └── <screen-name>/ ├── bild.jpg └── video.mp4Weitere Zeilen anzeigen
Server: Python 3 + Flask
Player: Jeder moderne Browser (Chrome, Edge, Firefox, KioskMode)
State: config.json + Dateisystem
Frontend: Tabler + SortableJS (CDN)
📂 Projektstruktur
CSSsignage/├── app.py # Flask Application├── config.json # Konfiguration (Screens, Playlists, Intervalle)├── media/ # Medien pro Screen│ ├── lobby/│ └── meetingroom/├── templates/│ ├── admin.html # Admin UI│ ├── player.html # Player UI│ └── login.html # Login Page├── static/ # (optional) eigene Assets└── README.md``Weitere Zeilen anzeigen
🚀 Installation
Voraussetzungen
Python ≥ 3.9
pip
ffmpeg (für VideoKonvertierung empfehlenswert)
CSSsudo apt install python3 python3-pip ffmpegWeitere Zeilen anzeigen
Setup
Shellgit clone <repository-url>cd signagepip install flask flask-login werkzeugWeitere Zeilen anzeigen
Starten
Shellpython app.pyWeitere Zeilen anzeigen
Server läuft standardmäßig auf:
http://localhost:5000
🛠️ Betrieb
AdminPortal
/admin
Funktionen:
Screens konfigurieren
Medien hochladen / löschen
Playlist per Drag & Drop sortieren
PlayerURLs
/player/<screen-name>
Beispiel:
http://server:5000/player/lobby
Empfehlung:
Browser im KioskModus
Autostart beim Login
🔄 Automatischer Reload
Der Player prüft regelmäßig, ob sich die Playlist geändert hat:
Datei hinzugefügt
Datei gelöscht
Reihenfolge geändert
Einstellungen geändert
➡️ Bei Änderung lädt sich der Player automatisch neu.
⚠️ Wichtig: Git & Medien
👉 Dieses Repository ist für Code gedacht, nicht für Inhalte.
Empfohlene Praxis:
Plain Textmedia/*.mp4*.jpg*.pngWeitere Zeilen anzeigen
in .gitignore aufnehmen.
Medien werden:
per AdminUpload
oder via Samba / Fileshare
bereitgestellt.
🎞️ VideoEmpfehlungen
Format: MP4
Codec: H.264
Audio: optional, Autoplay ist standardmäßig ohne Ton
Auflösung: max. FullHD (1920×1080)
BeispielKonvertierung:
Shellffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4Weitere Zeilen anzeigen
🔐 Sicherheit
AdminBereich per Login geschützt
Keine anonyme Administration
PlayerSeiten öffentlich (ReadOnly)
Für externe Zugriffe: Reverse Proxy + TLS (z.B. Nginx Proxy Manager)
🧭 Roadmap (optional)
⏰ Zeitsteuerung pro PlaylistEintrag
👁 Vorschau im AdminPortal
👥 Mehrere AdminUser / Rollen
🗄️ Migration von config.json → SQLite
🐳 DockerComposeSetup
👤 Maintainer
CANCOM Simple Signage
Interne Lösung nicht für externe Weitergabe bestimmt.