6.6 KiB
title: GoToSocial created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, activitypub-fediverse, gotosocial, microblog, mastodon, go, single-binary, fediverse, lger] confidence: high contested: false sources: [https://selfh.st/apps?tag=activitypub-fediverse, https://gotosocial.org/, https://github.com/superseriousbusiness/gotosocial, https://docs.gotosocial.org/en/latest/]
🦥 GoToSocial
Serveur de microblogging fediverse écrit en Go, distribué en binaire unique, pensé comme une alternative légère à Mastodon pour les instances petites ou mono-utilisateur.
| Métadonnée | Valeur |
|---|---|
| Site web | gotosocial.org |
| GitHub | superseriousbusiness/gotosocial |
| License | AGPL-3.0 |
| Langage principal | Go |
| Étoiles GitHub | 71 ⭐ (comptage agrégé selfh.st) |
| Dernière MAJ | 2026-06-07 |
| Catégorie | cat-activitypub-fediverse |
Description
GoToSocial est né d'un constat simple : Mastodon, bien qu'étant le serveur fediverse de référence, est lourd à auto-héberger (Ruby, Sidekiq, Postgres, Redis, streaming, multiple workers). Pour des cas d'usage personnels ou de petites instances, c'est souvent disproportionné. GoToSocial propose un binaire Go unique qui couvre presque tout ce qu'on attend d'un serveur ActivityPub moderne, avec un coût mémoire largement inférieur.
L'application vise explicitement trois profils d'utilisateurs : les particuliers qui veulent un compte fediverse à eux tout seuls (Twitter-like), les petites communautés qui veulent un serveur à taille humaine, et les familles / collectifs qui veulent un coin privé du Fediverse. C'est aujourd'hui l'un des meilleurs choix pour « avoir son propre Mastodon » sans la complexité d'infrastructure.
Côté fonctionnalités, GoToSocial propose un flux local et fédéré, la gestion des listes, des médias, des filtres de contenu, la modération de qualité (rapports, blocages, mots interdits), la timeline des follows uniquement, le multilinguisme, OAuth pour clients Mastodon compatibles (Tusky, Ivory, Mona, Phanpy…), et un mode instance mono-utilisateur particulièrement économe. Les faiblesses notables : pas d'application mobile officielle, pas de recherche full-text fédérée, certaines API Mastodon encore en cours d'implémentation.
GoToSocial est un projet communautaire (Codeberg) qui s'est imposé comme la référence du « Mastodon léger en Go », aux côtés de plus petits projets comme Mitra ou Hometown.
Installation
Via Docker (recommandé)
L'image officielle est publiée sur Docker Hub par l'équipe du projet :
# docker-compose.yml
services:
gotosocial:
image: superseriousbusiness/gotosocial:latest
container_name: gotosocial
restart: unless-stopped
ports:
- "8080:8080"
environment:
GTS_HOST: gts.example.org
GTS_DB_TYPE: postgres
GTS_DB_ADDRESS: db
GTS_DB_USER: gts
GTS_DB_PASSWORD: change-me
GTS_DB_DATABASE: gotosocial
GTS_STORAGE_BACKEND: s3
GTS_S3_ENDPOINT: minio:9000
GTS_S3_ACCESS_KEY: gts
GTS_S3_SECRET_KEY: change-me
GTS_S3_BUCKET: gts
GTS_S3_PROXY: "true"
volumes:
- gts_data:/gotosocial/storage
depends_on:
- db
db:
image: postgres:16-alpine
container_name: gts-db
restart: unless-stopped
environment:
POSTGRES_USER: gts
POSTGRES_PASSWORD: change-me
POSTGRES_DB: gotosocial
volumes:
- db_data:/var/lib/postgresql/data
minio:
image: minio/minio:latest
container_name: gts-minio
restart: unless-stopped
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: gts
MINIO_ROOT_PASSWORD: change-me
volumes:
- minio_data:/data
volumes:
gts_data:
db_data:
minio_data:
Installation manuelle
Télécharger le binaire depuis la page Releases sur Codeberg/GitHub, créer un utilisateur système gotosocial, configurer le fichier YAML, exécuter le binaire avec un reverse proxy (Caddy, Nginx). Documentation : docs.gotosocial.org.
Configuration
- Démarrer la stack, puis créer le premier utilisateur via la CLI :
gotosocial admin account create --username admin. - Renseigner le domaine public dans
GTS_HOST(utilisé pour la fédération). - Configurer le reverse proxy (Caddy/Traefik) avec HTTPS et le routing WebSocket.
- Choisir le stockage : local (volume) ou S3-compatible (Minio, Backblaze, Scaleway).
- Activer la politique d'instance : ouvert, fermé, approbation manuelle, mono-utilisateur.
- Tester la fédération en suivant un compte distant et en publiant un premier post.
- Configurer les sauvegardes de Postgres et du stockage média.
Alternatives
Open source
- app-mastodon — Référence, plus complet mais plus lourd (Ruby)
- app-akkoma — Microblog fediverse léger basé sur Pleroma, en Elixir
- app-essena — fork ancien, non maintenu
- Pleroma — microblog fediverse mature, plus complet qu'Akkoma
Propriétaires
- Twitter / X — microblogging centralisé, algorithme opaque
- Threads (Meta) — récemment fédéré mais politique floue
- Bluesky — concurrent décentralisé mais basé sur ATProto, pas ActivityPub
Sécurité
- ✅ Authentification par mot de passe fort + support 2FA (TOTP).
- ✅ Stockage des médias en local ou S3 avec URLs signées.
- ✅ Mises à jour Go régulières (binaire statique, surface d'attaque réduite).
- ⚠️ Configurer un reverse proxy durci : HSTS, TLS 1.3, blocage des chemins non utilisés.
- ⚠️ Modérer la fédération : listes de blocage d'instances, validation des comptes en masse.
- ⚠️ Limiter le taille max de post et la rétention média pour éviter les abus.
- ⚠️ Sauvegarder Postgres et le bucket média — la perte d'un compte est irréversible.
Ressources
Pages Liées
- cat-activitypub-fediverse — Catégorie parente
- app-mastodon — Référence du microblog fediverse, plus lourde
- app-akkoma — Alternative légère en Elixir
- app-hollo — Microblog mono-utilisateur en Rust, cousin minimaliste
- recettes-docker-compose — Templates Docker