Stoat ist ein quelloffener Chat-Dienst im Stil von Discord: Server mit Text- und Sprachkanälen, Direktnachrichten, Gruppen, Reaktionen, Datei-Uploads, Link-Vorschauen und – über LiveKit – Sprach- und Videochat inklusive Bildschirmfreigabe. Bis 2025 hieß das Projekt Revolt, weshalb viele Dateien und Variablen (Revolt.toml, REVOLT__…) noch den alten Namen tragen.
0. Grundvoraussetzung
- Traefik ab v3.6 mit CrowdSec installieren und konfigurieren
- Docker & Docker Compose v2 (Debian / Ubuntu)
Ebenfalls muss eure CPU AVX Befehlssätze unterstützen. Dies ist für neue MongoDB Versionen obligatorisch. Dies könnt ihr mittels folgenden Befehls überprüfen:
grep -c avx /proc/cpuinfo
Wenn die Ausgabe “0” ist, dann startet später MongoDB nicht. In diesem Fall müsst ihr leider die Anleitung hier abbrechen.
Bei diesem Inhalt handelt es sich um exklusiven Content für Community Plus Mitglieder und Supporter.
Bitte logge dich mit deinem Account ein um den Inhalt zu sehen.
8. Registrierung
Geht nun auf folgende Webseite: stoat.euredomain.de. Dort solltet ihr folgendes sehen:

Klickt nun auf “Registrieren” um euch einen Account anzulegen. Anschließend müsst ihr eine E-Mail Adresse und Passwort festlegen. Die E-Mail Adresse muss NICHT existieren:

Nachdem ihr dann noch euren Nutzernamen gewählt habt, seid ihr fertig bei Stoat eingeloggt.

9. Registrierung auf Einladung umstellen
Ihr habt die Möglichkeit eine offene Registrierung für jeden zu unterbinden. Dazu öffnet ihr folgende Datei:
cd /opt/containers/stoat
nano Revolt.toml
Fügt am Ende folgendes hinzu:
[api.registration]
invite_only = trueCode-Sprache: JavaScript (javascript)
Startet nun den Container neu, damit die Änderungen übernommen werden:
docker compose restart api
Wenn ihr jetzt einen neuen Account anlegen wollt, müsst ihr einen Einladungscode eingeben:

Daher generieren wir uns jetzt einen Einladungscode:
INVITE=$(openssl rand -hex 8); echo "Einladungscode: $INVITE"
docker compose exec database mongosh revolt --quiet --eval "db.account_invites.insertOne({ _id: '$INVITE' })"Code-Sprache: JavaScript (javascript)
In der Konsole sollte nun folgendes angezeigt werden:
Einladungscode: 307a7f722bc2efa9
{ acknowledged: true, insertedId: '307a7f722bc2efa9' }Code-Sprache: CSS (css)
Diesen Einladungscode könnt ihr nun an Freunde verschicken.
10. Gifs aktivieren
Damit ihr in Stoat Gifs nutzen könnt, müsst ihr euch bei gifbox.me registrieren. Dort erhaltet ihr dann einen API Key, welchen ihr zur secrets.env hinzufügt:
cd /opt/containers/stoat/
nano secrets.env
Dies fügt ihr am Ende ein:
REVOLT__API__SECURITY__TENOR_KEY='euer-api-schluessel'Code-Sprache: JavaScript (javascript)
Anschließend erstellt ihr den Container neu:
docker compose up -d --force-recreate gifbox
