---
title: Gancio
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, activitypub-fediverse, gancio, calendrier, vnements, fediverse, aganda, communautaire, nodejs]
confidence: high
contested: false
sources: [https://selfh.st/apps?tag=activitypub-fediverse, https://gancio.org/, https://hub.docker.com/r/cisti/gancio, https://framagit.org/les/gancio]
---

# 📅 Gancio

> Calendrier d'événements fediverse conçu pour partager des événements locaux et des agendas culturels au sein d'une communauté, avec fédération ActivityPub native.

| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [gancio.org](https://gancio.org/) |
| **GitHub / Framagit** | [framagit.org/les/gancio](https://framagit.org/les/gancio) |
| **License** | AGPL-3.0 |
| **Langage principal** | JavaScript (Node.js / Vue.js) |
| **Étoiles GitHub** | 76 ⭐ (comptage agrégé selfh.st) |
| **Dernière MAJ** | 2026-06-07 |
| **Catégorie** | [[cat-activitypub-fediverse]] |

## Description

**Gancio** est un **calendrier partagé** qui fait partie de la famille des logiciels du projet **Les / Sud**, aux côtés de Mobilizon (plateforme événementielle française). Gancio se distingue par sa **légèreté** et son **orientation locale** : il est conçu pour qu'un collectif, un café associatif, un cinéma, un fablab ou une mairie puisse partager ses événements avec le reste du Fediverse sans héberger une plateforme complète de type Mobilizon.

Chaque événement publié sur une instance Gancio est **automatiquement fédéré** sur Mastodon, Pleroma, Friendica, Hubzilla et autres serveurs ActivityPub : les utilisateurs voient ainsi les événements dans leur timeline et peuvent les ajouter à leur propre calendrier (iCal, WebCal). C'est l'outil de choix pour **réseau d'acteurs culturels** qui veulent rester dans le Fediverse plutôt que de reposer sur Facebook Events.

Côté fonctionnalités, Gancio propose un agenda public, des événements récurrents, des lieux géolocalisés, des médias attachés, l'export iCal, des flux RSS, une authentification par OAuth avec les comptes fediverse, ainsi qu'une modération simple. Ses points forts sont la **facilité d'installation** (Node.js, image Docker `cisti/gancio` officielle) et l'expérience d'administration épurée. Les faiblesses : des **fonctionnalités de billetterie** limitées par rapport à Mobilizon, et un périmètre plus restreint (pas de groupes, pas de discussions, pas de co-organisation poussée).

## Installation

### Via Docker (recommandé)

L'image officielle est maintenue par le développeur (`cisti`) sur Docker Hub :

```yaml
# docker-compose.yml
services:
  gancio:
    image: cisti/gancio:latest
    container_name: gancio
    restart: unless-stopped
    ports:
      - "13120:13120"
    environment:
      - GANCIO_DB_HOST=db
      - GANCIO_DB_USER=gancio
      - GANCIO_DB_NAME=gancio
      - GANCIO_DB_PASSWORD=change-me
      - GANCIO_DOMAIN=events.example.org
      - GANCIO_ADMIN_EMAIL=admin@example.org
    volumes:
      - gancio_data:/home/node/gancio
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    container_name: gancio-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: gancio
      POSTGRES_USER: gancio
      POSTGRES_PASSWORD: change-me
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  gancio_data:
  db_data:
```

### Installation manuelle

Gancio s'installe sur n'importe quelle machine Node.js (>= 18) : cloner le dépôt, exécuter `npm install`, peupler la base SQLite par défaut, et lancer l'application via `npm start`. Voir la [documentation officielle](https://gancio.org/install).

## Configuration

1. Démarrer la stack, puis accéder à `http://localhost:13120` pour finaliser l'installation.
2. Créer le **compte administrateur** lors de l'init (premier lancement uniquement).
3. Renseigner le **domaine public** dans la configuration (utilisé pour les liens fediverse).
4. Configurer le **reverse proxy** (Caddy/Traefik) avec HTTPS — indispensable pour la fédération.
5. Activer l'**authentification OAuth fediverse** pour permettre aux utilisateurs de se connecter avec leur compte Mastodon/Pleroma.
6. Importer un éventuel agenda existant via le **plugin iCal** (recup de Meetup, Google Calendar, etc.).
7. Sauvegarder régulièrement `gancio_data` (base SQLite ou Postgres + médias).

## Alternatives

### Open source
- [[app-mobilizon]] — Plateforme événementielle fediverse plus complète, avec billetterie
- [[app-funkwhale]] — Peut servir d'agenda de podcasts/concerts à sa manière
- **Framasoft Mobilizon** (Framasoft) — voir [[app-mobilizon]]
- **Nextcloud Calendar** — Agenda classique, sans fédération ActivityPub

### Propriétaires
- **Facebook Events** — géant centralisé, fermé et publicitaire
- **Meetup** — freemium, peu de contrôle sur les données
- **Eventbrite** — orienté billetterie, pas de fédération

## Sécurité

- ✅ Authentification par identifiants locaux ou **OAuth Fediverse** (pas de mot de passe stocké pour les utilisateurs fédérés).
- ✅ Mises à jour de sécurité régulières sur l'image `cisti/gancio`.
- ⚠️ **HTTPS obligatoire** pour la fédération, sans quoi les autres serveurs refusent les Activity.
- ⚠️ Limiter les inscriptions : configurer le mode d'authentification (admin-only, open, confirmation mail).
- ⚠️ Sauvegardes Postgres/SQLite critiques : les événements publiés font partie de l'identité fédérée de l'instance.

## Ressources

- [Site officiel Gancio](https://gancio.org/)
- [Documentation Gancio](https://gancio.org/install)
- [Code source sur Framagit](https://framagit.org/les/gancio)
- [Image Docker officielle](https://hub.docker.com/r/cisti/gancio)

## Pages Liées

- [[cat-activitypub-fediverse]] — Catégorie parente
- [[app-mobilizon]] — Cousin français, plus complet, avec billetterie
- [[app-funkwhale]] — Pour les agendas de podcasts/concerts
- [[recettes-docker-compose]] — Templates Docker
