Suite Bincio — Panoramica

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

ProgettoURLScopo
bincioactivityactivity.bincio.orgPiattaforma statistiche attività sportive
bincio authbincio.orgAutenticazione centralizzata (JWT + OIDC)
bincio wikiwiki.bincio.orgQuesto wiki
bincio plannerplanner.bincio.orgPianificatore percorsi
bincio rec— app mobileRegistratore GPS (Android/iOS)
bincio autarchive— app mobileImportazione 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-receive per il deploy
  • uv — gestione dipendenze Python

Stack comune

LayerTecnologia
BackendPython 3.11+, FastAPI, uvicorn
FrontendAstro 6 o Svelte 5 + Vite
StylingTailwind CSS
DatabaseSQLite (WAL mode)
AuthJWT via bincio_auth
Deploynginx + 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.

Links To This Page
Attributes
Links