Suite Bincio — Panoramica
Caricamento…
La suite Bincio è un insieme di strumenti per il gruppo, costruiti e mantenuti internamente. Non è un prodotto commerciale: è infrastruttura nostra, con le nostre regole.
Componenti
| Progetto | URL | Scopo |
|---|---|---|
| bincioactivity | activity.bincio.org | Piattaforma statistiche attività sportive |
| bincio auth | bincio.org | Autenticazione centralizzata (JWT + OIDC) |
| bincio wiki | wiki.bincio.org | Questo wiki |
| bincio planner | planner.bincio.org | Pianificatore percorsi |
| bincio rec | — app mobile | Registratore GPS (Android/iOS) |
| bincio autarchive | — app mobile | Importazione attività in locale (Karoo 2) |
Relazioni tra componenti
Internet
│
┌────────────┼────────────┐
│ │ │
bincio.org wiki.bincio.org activity.bincio.org
bincio_auth bincio_wiki bincio_activity
│ │ │
└──────────────┴─── JWT (.bincio.org) ───┐
│
planner.bincio.org─┘
bincio_planner
(legge /api/me da activity)
App mobili:
bincio_rec ──────── upload GPX ──────────→ bincio_activity
bincio_autarchive ── sync activities ─────→ bincio_activity
Gitea (git.bincio.org):
bincio_auth ──── OIDC sign-in ──────────→ Gitea
bincio_auth è il punto di autenticazione per tutta la suite. Emette un JWT firmato (HS256 per i servizi web, RS256 per Gitea e app mobile). Il cookie bincio_session è impostato su .bincio.org quindi funziona su tutti i sottodomini senza redirect aggiuntivi.
Infrastruttura comune
Tutti i servizi girano su un unico VPS obambu.com (Debian 12):
- nginx — reverse proxy, TLS Let’s Encrypt, hosting file statici
- systemd — process manager per tutti i servizi Python
- SQLite — database condiviso tra bincio_auth, bincio_activity, bincio_planner e bincio_wiki
- Git bare repo — ogni progetto ha un bare repo su VPS con hook
post-receiveper il deploy - uv — gestione dipendenze Python
Stack comune
| Layer | Tecnologia |
|---|---|
| Backend | Python 3.11+, FastAPI, uvicorn |
| Frontend | Astro 6 o Svelte 5 + Vite |
| Styling | Tailwind CSS |
| Database | SQLite (WAL mode) |
| Auth | JWT via bincio_auth |
| Deploy | nginx + systemd + git bare repo |
Gitea
I sorgenti sono hostati su git.bincio.org (Gitea), con accesso tramite bincio sign-in (OIDC). I mirror su GitHub dovrebbero pubblicare solamente le release stabili una volta testate in questo gruppo privato (questo modus operandi è compatibile con la AGPL v3).
Licenza
Tutti i progetti della suite sono rilasciati sotto licenza AGPL v3. La scelta garantisce che chiunque modifichi e distribuisca il software (anche come servizio web) sia tenuto a rilasciare le modifiche con la stessa licenza.