116 lines
5.0 KiB
Markdown
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]]
|