Files
wiki/Catalogue-Self-Hosted/apps/app-gotosocial.md
T
2026-06-09 18:40:21 +02:00

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

  1. Démarrer la stack, puis créer le premier utilisateur via la CLI : gotosocial admin account create --username admin.
  2. Renseigner le domaine public dans GTS_HOST (utilisé pour la fédération).
  3. Configurer le reverse proxy (Caddy/Traefik) avec HTTPS et le routing WebSocket.
  4. Choisir le stockage : local (volume) ou S3-compatible (Minio, Backblaze, Scaleway).
  5. Activer la politique d'instance : ouvert, fermé, approbation manuelle, mono-utilisateur.
  6. Tester la fédération en suivant un compte distant et en publiant un premier post.
  7. 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