Files
2026-06-09 18:40:21 +02:00

116 lines
5.0 KiB
Markdown

---
title: Hollo
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, activitypub-fediverse, microblogging, rust, single-binary, fediverse]
confidence: medium
contested: false
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://hollo.social/, https://github.com/dahlia/hollo]
---
# 🌸 Hollo
> **Le serveur microblogging fediverse en Rust, livré en single binary** : un Mastodon-like minimaliste, ultra-léger, parfait pour les utilisateurs qui veulent leur instance personnelle sans se prendre la tête.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [https://hollo.social](https://hollo.social) |
| **GitHub** | [https://github.com/dahlia/hollo](https://github.com/dahlia/hollo) |
| **License** | AGPL-3.0 |
| **Langage principal** | Rust (Actix Web) |
| **Étoiles GitHub** | 53 ⭐ |
| **Dernière MAJ** | 2026-05 |
| **Catégorie** | [[cat-activitypub-fediverse]] |
## Description
Hollo est un projet personnel de **Hong Minhee** (aussi auteur d'**Hail**, un fédiverse framework en Rust) : un serveur de microblogage **single-user** (par défaut) ou **multi-user** léger, conçu pour tourner sur un petit VPS ou un Raspberry Pi. Le programme est livré comme **un unique binaire Rust** (compilé statiquement), avec une **seule dépendance** : SQLite.
L'inspiration est clairement **Mastodon-compatible** au niveau du protocole (ActivityPub), mais avec une UX plus minimaliste : timeline locale, timeline fédérée, favoris, replies, boosts, hashtags. Pas de listes, pas de filtres avancés, pas de sondages — c'est un **Pleroma/Mastodon minimaliste** en Rust.
L'usage typique est : un développeur Rust ou un curieux de l'auto-hébergement veut son **propre compte fédéré** (et non pas être un utilisateur parmi d'autres sur une instance mutualisée) sans avoir à déployer Mastodon (Ruby, lourd) ou Pleroma (Elixir, plus complexe). Hollo démarre en moins d'une seconde et consomme ~30 Mo de RAM au repos.
**Points forts** : **single binary**, RAM très faible (~30-100 Mo), SQLite (pas de Postgres à gérer), démarrage rapide, code moderne (Actix Web), compatible Mastodon/Pleroma/Misskey côté fediverse.
**Points faibles** : projet personnel (bus factor = 1), pas de mod multi-utilisateurs riches, peu de features « sociales avancées » (listes, filtres, sondages), API Mastodon limitée (pas d'application tierce complète).
## Installation
### Via Docker (recommandé)
L'image officielle est `ghcr.io/dahlia/hollo:latest`.
```yaml
# docker-compose.yml
services:
hollo:
image: ghcr.io/dahlia/hollo:latest
container_name: hollo
restart: unless-stopped
ports:
- "3000:3000"
environment:
HOLLO_LISTEN: "0.0.0.0:3000"
HOLLO_DATABASE_URL: "sqlite:///data/hollo.db"
HOLLO_SECRET_KEY: "change-me-random-50-chars"
HOLLO_BASE_URL: "https://hollo.example.com"
HOLLO_NAME: "Mon Hollo"
volumes:
- hollo_data:/data
volumes:
hollo_data:
```
### Installation manuelle
1. Télécharger le binaire depuis [github.com/dahlia/hollo/releases](https://github.com/dahlia/hollo/releases) (Linux x86_64 / ARM64)
2. Rendre exécutable : `chmod +x hollo`
3. Créer le fichier `.env` avec les variables (voir section Configuration)
4. Lancer : `./hollo`
5. (Optionnel) Mettre derrière Nginx + HTTPS via Let's Encrypt
## Configuration
1. Configurer `HOLLO_BASE_URL` (URL HTTPS publique) et `HOLLO_SECRET_KEY` (openssl rand)
2. Créer le premier compte via la console (`./hollo create-user --email ... --password ...`)
3. Le compte créé devient l'**admin** par défaut
4. Activer la **fédération** : par défaut sur
5. Éventuellement activer le mode multi-utilisateurs (`HOLLO_ALLOW_REGISTRATION=true`) pour ouvrir l'instance
## Alternatives
### Open source
- [[app-mastodon]] — référence, mais Ruby + lourd
- [[app-misskey]] — riche, mais ressources importantes
- [[app-pleroma]] — Elixir, single-binary possible (Pleroma)
- [[app-akkoma]] — fork Pleroma, même philosophie
- [[app-snac]] — minimaliste C, plus radical
- [[app-ktistec]] — Crystal, single binary aussi
### Propriétaires
- Twitter / X — microblogging centralisé
- Threads — compatible ActivityPub depuis 2024
- Bluesky — ATProto, pas ActivityPub
## Sécurité
- **HTTPS obligatoire** (fédération)
- **Binaire compilé statiquement** : peu de surface d'attaque, mais vérifier l'empreinte SHA-256 à chaque release
- **SQLite en local** : bien protéger le dossier `/data` (chmod 700)
- **Sauvegarder** : le fichier `hollo.db` (utilisateurs, posts, médias) ET les fichiers médias (optionnel, peut être stocké en externe)
- **Mises à jour** : suivre les releases GitHub (bus factor = 1, tester avant d'upgrader)
## Ressources
- Site officiel : [hollo.social](https://hollo.social)
- Documentation : [github.com/dahlia/hollo#readme](https://github.com/dahlia/hollo#readme)
- Démo : [hollo.social](https://hollo.social) (instance de l'auteur)
- Auteur : Hong Minhee ([@dahlia@hackers.town](https://hackers.town/@dahlia))
## Pages Liées
- [[cat-activitypub-fediverse]]
- [[recettes-docker-compose]]
- [[app-mastodon]]
- [[app-ktistec]]