TeamTimer ist eine lokal nutzbare Web-App zur Schichtplanung für Badeseen.
- Frontend: React + TypeScript + Vite + Tailwind
- Backend: Node.js + Express
- Speicherung: JSON-Datei im Datenordner (
app-data.json) - Deployment lokal: Docker Compose
Ich habe die bestehende Lovable-Oberfläche bewusst beibehalten und nur funktional angebunden.
- Admin-Zugang per Umgebungsvariablen
- Session-Secret per Umgebungsvariable
- Datenordner per Umgebungsvariable
- Port per Umgebungsvariable
Die Login-Daten werden nicht in app-data.json gespeichert, sondern kommen direkt aus der Server-Konfiguration.
ADMIN_USERNAMEADMIN_PASSWORDSESSION_SECRETPORTHOST_PORTDATA_DIR_HOSTDATA_DIR_CONTAINER
.env.examplenach.envkopieren- Werte anpassen
- starten mit:
docker compose up --buildDanach läuft die App unter:
http://localhost:HOST_PORT
Beispiel bei HOST_PORT=3000:
http://localhost:3000
Die Daten werden außerhalb des Containers gespeichert. Standardmäßig liegt die Datei hier:
./data/app-data.json
Über DATA_DIR_HOST kannst du das lokal ändern. Für Unraid wird später daraus typischerweise so etwas wie:
/mnt/user/appdata/teamtimer
Für Unraid solltest du unbedingt eigene Werte setzen für:
ADMIN_USERNAMEADMIN_PASSWORDSESSION_SECRET
Wenn du komplett neu starten willst, lösche einfach die Datei:
app-data.json
im gemappten Datenordner. Beim nächsten Start wird sie automatisch neu erstellt.