Schirmziit 🇨🇭 Sviluppato in Svizzera

Self-hosting

Schirmziit è un unico programma che serve da sé la sua panoramica, più un database Postgres. Nessun Redis, nessun broker di messaggi, nessun servizio cloud.

Cosa ti serve

Installazione

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 e TLS

Schirmziit ascolta solo su 127.0.0.1:8080. Metti davanti un reverse proxy che chiuda il TLS e imposta PUBLIC_URL esattamente all’indirizzo che digiti nel browser. Quell’indirizzo finisce nel codice QR di collegamento: se è sbagliato, il telefono si collega una volta e poi non invia più nulla.

Il primo account

Per impostazione predefinita può registrarsi un solo account, poi la registrazione si chiude. Apri la panoramica, crea il tuo account e poi imposta ALLOW_REGISTRATION su «off».

Collegare un telefono

Aggiungi un bambino nella panoramica e genera un codice. Installa l’app Android sul telefono del bambino, consenti l’accesso ai dati di utilizzo e scansiona il codice. Da quel momento il telefono invia i dati circa ogni 30 minuti.

Backup

Tutto ciò che conta sta in Postgres. Un pg_dump notturno del volume è sufficiente; la panoramica in sé non ha stato.

Aggiornamenti

docker compose pull e poi docker compose up -d. Le migrazioni del database partono all’avvio. Il downgrade non è previsto: fai prima un backup.

Quando qualcosa non funziona

Il telefono si collega ma non invia mai nulla.
PUBLIC_URL non punta all’indirizzo raggiungibile dal telefono. Correggilo, riavvia e genera un nuovo codice.
La panoramica dice «non invia più nulla».
Controlla sul telefono che l’accesso ai dati di utilizzo sia ancora consentito e consenti gli aggiornamenti in background se l’app lo chiede.
Postgres non parte più dopo un aggiornamento.
Da Postgres 18 il volume va montato su /var/lib/postgresql e non su /var/lib/postgresql/data. Il nostro file compose lo fa già.
Un’app compare come «com.qualcosa.app».
Il telefono non ha potuto risolvere il nome. Dopo il prossimo aggiornamento dell’app Android e un nuovo invio comparirà il nome corretto.