Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+107
View File
@@ -0,0 +1,107 @@
---
title: Ergo
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, messaging, xmpp, irc, federation, go, moderne, multi-protocole]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/ergochat/ergo, https://ergo.chat/]
---
# 💬 Ergo
> **Le serveur XMPP moderne écrit en Go**, qui fait aussi office de **pont IRC** natif : une seule instance, deux protocoles de messagerie, et une configuration Go simple à maintenir.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [ergo.chat](https://ergo.chat/) |
| **GitHub** | [ergochat/ergo](https://github.com/ergochat/ergo) |
| **Licence** | MIT |
| **Langage** | Go |
| **Étoiles GitHub** | 3.2k ⭐ |
| **Catégorie** | Messaging (Serveur XMPP/IRC) |
## 📝 Description
**Ergo** (anciennement **Oragono**) est un **serveur XMPP moderne écrit en Go**, conçu comme une alternative plus légère et plus facile à configurer que **Prosody** ou **ejabberd**. Son **originalité majeure** est de gérer **deux protocoles simultanément** : **XMPP** (Jabber) pour les clients modernes (Converse.js, Gajim, Dino, Conversations) **et IRC** pour les utilisateurs de clients historiques (The Lounge, WeeChat, Irssi).
Concrètement, le même binaire Ergo écoute sur le port **5222** (XMPP client), **5269** (XMPP federation), **6697** (IRC TLS) et éventuellement **6667** (IRC plain). Les utilisateurs IRC et XMPP partagent les **mêmes comptes et les mêmes salons** : un salon XMPP est accessible depuis un client IRC, et inversement. C'est une fonctionnalité unique qui simplifie énormément la migration d'une communauté IRC vers XMPP.
L'administration se fait en Go pur, avec un fichier **ergo.yml** lisible, et un système d'**extensions** en Go (chiffrement, IRC bouncer, etc.). Le projet est maintenu par **Jeremy Latt** (créateur de Discord.py), la documentation est claire, et la communauté est dynamique.
## 🚀 Installation
### Option recommandée : Docker
```yaml
services:
ergo:
image: ghcr.io/ergochat/ergo:latest
container_name: ergo
restart: unless-stopped
ports:
- "5222:5222" # XMPP client
- "5269:5269" # XMPP federation (s2s)
- "6667:6667" # IRC plain (optionnel)
- "6697:6697" # IRC TLS
volumes:
- ergo_data:/ircd
volumes:
ergo_data:
```
### Fichier de configuration minimal (`ergo.yml`)
```yaml
server:
name: irc.example.com
listen:
- ":6667"
- ":6697"
- ":5222"
- ":5269"
```
## ⚙️ Configuration Initiale
1. **Choisir un nom de serveur** XMPP (souvent identique au hostname).
2. **Configurer TLS** : Ergo supporte **Let's Encrypt** nativement via la config, sinon fournir `cert.pem` + `key.pem`.
3. **Créer un compte administrateur** avec `ergo mkpasswd` puis `OPER`.
4. **DNS** : `SRV _xmpp-client._tcp` et `SRV _xmpp-server._tcp` pour le discovery standard.
5. **Clients IRC** : se connecter à `irc.example.com:6697` avec TLS, le **nick** et le **password**.
6. **Clients XMPP** : utiliser n'importe quel client XMPP, s'enregistrer (inscription in-band).
## 🔄 Alternatives
- **Prosody** — Serveur XMPP le plus populaire, en Lua
- **ejabberd** — Serveur XMPP historique, en Erlang
- **InspIRCd** — Serveur IRC moderne, à coupler avec Prosody
- **UnrealIRCd** — Serveur IRC référence
- [[app-synapse]] — Matrix, philosophie différente
## 🔐 Sécurité
- ✅ Support natif **Let's Encrypt** (SNI, ACME)
- ✅ Authentification SCRAM-SHA-1/256, plain, cert
-**Fédération XMPP** authentifiée (PKI)
- ⚠️ **SASL EXTERNAL** recommandé pour la sécurité maximale
- ⚠️ Ne pas exposer **6667** (plain) en production, préférer **6697** (TLS)
## 📚 Ressources
- [Site officiel](https://ergo.chat/)
- [GitHub ergochat/ergo](https://github.com/ergochat/ergo)
- [Documentation](https://ergo.chat/docs/INSTALL.html)
- [Manuel de configuration](https://ergo.chat/docs/MANUAL.html)
## Pages Liées
- [[cat-messaging]] — Catégorie Messaging
- [[app-the-lounge]] — Client IRC web à combiner
- [[app-converse]] — Client XMPP web à combiner
- [[app-traefik]] — Reverse proxy HTTPS
- [[securisation-home-lab]] — Hardening