From 97f047497a6bd2abead2e2712bd8e508fd59cdf2 Mon Sep 17 00:00:00 2001 From: Erik Thiele Date: Fri, 17 Apr 2026 14:09:11 +0200 Subject: [PATCH] Readme erzeugt --- README.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/README.md b/README.md index e69de29..0b06518 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,122 @@ +đŸ“ș CANCOM Simple Signage +CANCOM Simple Signage ist ein leichtgewichtiges, browserbasiertes Digital‑Signage‑System auf Basis von Python + Flask. +Ziel ist eine einfache, robuste und wartbare Lösung fĂŒr interne Info‑Screens, ohne die KomplexitĂ€t klassischer Digital‑Signage‑Plattformen. + +✹ Features + +✅ Browser‑basierter Player (kein nativer Client erforderlich) +✅ Bilder & Videos (MP4, H.264) +✅ Pro Screen eine eigene Playlist +✅ Drag‑&‑Drop‑Reihenfolge im Admin‑Portal +✅ Automatischer Player‑Reload bei Änderungen +✅ Upload & Löschen von Medien +✅ Screen‑Status (aktiv / leer) +✅ CI‑konformes Admin‑UI (CANCOM) +✅ LĂ€uft lokal, in VMs oder auf Proxmox + + +đŸ§± Architektur +CSSBrowser (Player) │ â–ŒFlask App (Server)├── Admin UI├── Player UI├── config.json└── media/ └── / ├── bild.jpg └── video.mp4Weitere Zeilen anzeigen + +Server: Python 3 + Flask +Player: Jeder moderne Browser (Chrome, Edge, Firefox, Kiosk‑Mode) +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 Video‑Konvertierung empfehlenswert) + +CSSsudo apt install python3 python3-pip ffmpegWeitere Zeilen anzeigen + +Setup +Shellgit clone 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 +Admin‑Portal +/admin + +Funktionen: + +Screens konfigurieren +Medien hochladen / löschen +Playlist per Drag & Drop sortieren + + +Player‑URLs +/player/ + +Beispiel: +http://server:5000/player/lobby + +Empfehlung: + +Browser im Kiosk‑Modus +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 Admin‑Upload +oder via Samba / Fileshare +bereitgestellt. + + +đŸŽžïž Video‑Empfehlungen + +Format: MP4 +Codec: H.264 +Audio: optional, Autoplay ist standardmĂ€ĂŸig ohne Ton +Auflösung: max. Full‑HD (1920×1080) + +Beispiel‑Konvertierung: +Shellffmpeg -i input.mov -c:v libx264 -pix_fmt yuv420p -movflags +faststart output.mp4Weitere Zeilen anzeigen + +🔐 Sicherheit + +Admin‑Bereich per Login geschĂŒtzt +Keine anonyme Administration +Player‑Seiten öffentlich (Read‑Only) +FĂŒr externe Zugriffe: Reverse Proxy + TLS (z. B. Nginx Proxy Manager) + + +🧭 Roadmap (optional) + +⏰ Zeitsteuerung pro Playlist‑Eintrag +👁 Vorschau im Admin‑Portal +đŸ‘„ Mehrere Admin‑User / Rollen +đŸ—„ïž Migration von config.json → SQLite +🐳 Docker‑Compose‑Setup + + +đŸ‘€ Maintainer +CANCOM Simple Signage +Interne Lösung – nicht fĂŒr externe Weitergabe bestimmt. \ No newline at end of file