Schirmziit 🇨🇭 Entwickelt in der Schweiz

Selbst hosten

Schirmziit ist ein einziges Programm, das die Übersicht gleich mitliefert, plus eine Postgres-Datenbank. Kein Redis, kein Message-Broker, kein Cloud-Dienst.

Was du brauchst

Installation

curl -O https://raw.githubusercontent.com/JorisM/schirmziit/main/deploy/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/JorisM/schirmziit/main/deploy/.env.example

# edit .env: POSTGRES_PASSWORD and PUBLIC_URL
docker compose up -d

Reverse Proxy und TLS

Schirmziit lauscht nur auf 127.0.0.1:8080. Stelle einen Reverse Proxy davor, der TLS beendet, und setze PUBLIC_URL genau auf die Adresse, die du im Browser eingibst. Diese Adresse landet im QR-Code fürs Verbinden: ist sie falsch, verbindet sich das Handy einmal und meldet dann nie wieder.

Erstes Konto

Standardmässig darf sich genau ein Konto registrieren, danach ist die Registrierung zu. Öffne die Übersicht, lege dein Konto an, und setze ALLOW_REGISTRATION anschliessend auf «off».

Handy verbinden

Lege in der Übersicht ein Kind an und erzeuge einen Code. Installiere die Android-App auf dem Kinderhandy, erlaube den Nutzungszugriff und scanne den Code. Danach meldet sich das Handy etwa alle 30 Minuten.

Backup

Alles Wichtige liegt in Postgres. Ein nächtliches pg_dump des Volumes genügt; die Übersicht selbst hat keinen Zustand.

Updates

docker compose pull und docker compose up -d. Die Datenbank-Migrationen laufen beim Start selbst; ein Downgrade ist nicht vorgesehen, also mach vorher ein Backup.

Wenn etwas nicht läuft

Das Handy verbindet sich, meldet aber nie etwas.
PUBLIC_URL zeigt nicht auf die Adresse, die das Handy erreicht. Korrigieren, neu starten, neuen Code erzeugen.
In der Übersicht steht «meldet sich nicht».
Prüfe auf dem Handy, ob der Nutzungszugriff noch erlaubt ist, und erlaube Hintergrund-Updates, wenn die App danach fragt.
Postgres startet nach einem Update nicht mehr.
Ab Postgres 18 muss das Volume auf /var/lib/postgresql liegen, nicht auf /var/lib/postgresql/data. Unsere compose-Datei macht das schon richtig.
Eine App heisst im Bericht «com.irgendwas.app».
Das Handy konnte den Namen nicht auflösen. Nach dem nächsten Update der Android-App und einer neuen Meldung steht der richtige Name da.