---
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](https://gotosocial.org/) |
| **GitHub** | [superseriousbusiness/gotosocial](https://github.com/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 :

```yaml
# 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](https://docs.gotosocial.org/en/latest/).

## 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

- [Site officiel GoToSocial](https://gotosocial.org/)
- [Documentation complète](https://docs.gotosocial.org/en/latest/)
- [Dépôt GitHub du projet](https://github.com/superseriousbusiness/gotosocial)
- [Image Docker Hub](https://hub.docker.com/r/superseriousbusiness/gotosocial)

## 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
