Exécuter un serveur de chat Stoat privé sur votre domaine
Utilisez des scripts pour sécuriser un nouveau Droplet DigitalOcean, installer la pile Docker Compose officielle de Stoat, puis prouver le fonctionnement du client web avant d'inviter quelqu'un.
Dépôt GitHub compagnonRunbook compagnon pour Droplet StoatTylorMayfield/stoat-droplet-runbookVoir sur GitHubCréez le Droplet et le firewall
Créez un Droplet Ubuntu neuf avec au moins deux vCPU et 2 Go de RAM. Ajoutez une clé SSH pendant la création. Créez ensuite un Cloud Firewall, attachez-le à ce Droplet et pointez un nom comme chat.example.com vers son IPv4 public. C'est un déploiement Docker Compose, pas une app App Platform ni une démo à un seul conteneur.
- TCP 22 depuis votre adresse IP publique ou VPN seulement.
- TCP 80 et 443 depuis partout pour le client web et les certificats HTTPS.
- TCP 7881 et UDP 50000 à 50100 depuis partout seulement si vous voulez les appels LiveKit.
- Ne donnez pas de ports hôte publics à MongoDB, Valkey, RabbitMQ, MinIO ou Docker.
Attachez le firewall avant de vous connecter
Dans le formulaire Cloud Firewall, créez les règles entrantes ci-dessous puis choisissez ce serveur dans Appliquer aux Droplets. Gardez les règles sortantes par défaut qui autorisent tout. Les deux règles d'appel sont facultatives. Ne les ajoutez pas si votre communauté n'utilisera pas les appels.
Vérifier la première réponse
- Résultat attendu
- Le nom public répond en HTTPS, Compose indique les services attendus et un navigateur séparé réalise un test inoffensif du client web sans exposer un service interne.
- Arrêter si
- Arrêtez si SSH est ouvert à Internet, si un service de données a un port hôte, si le DNS ne pointe pas vers le Droplet, si un certificat échoue, si un secret apparaît dans la sortie ou si un port LiveKit est ouvert sans plan de test d'appel délibéré.
- Étape suivante
- Sauvegardez la configuration et les données persistantes, testez une restauration loin de la production, puis notez le commit du dépôt et les versions d'images avant d'inviter des utilisateurs.
Connectez-vous, sécurisez, puis installez
Utilisez l'adresse IPv4 publique du Droplet depuis le tableau de bord DigitalOcean. Le script de sécurité met Ubuntu à jour et désactive la connexion SSH par mot de passe seulement s'il trouve une clé SSH root. Gardez ce terminal ouvert puis confirmez qu'une seconde connexion SSH marche. Le précontrôle ne change rien. Le script d'installation exige --apply, refuse d'écraser /opt/stoat et ouvre le générateur de configuration de Stoat.
Avant de continuer : Cette procédure met Ubuntu à jour et désactive la connexion SSH par mot de passe après avoir confirmé l'existence d'une clé SSH root. Gardez la première session ouverte et testez une seconde connexion.
- Modifier d’abordRemplacez chaque valeur surlignée avant d’exécuter la commande.
ssh root@YOUR_DROPLET_IPRemplacez avant l’exécution :
YOUR_DROPLET_IP git clone https://github.com/TylorMayfield/stoat-droplet-runbook.gitcd stoat-droplet-runbooksudo ./scripts/harden-host.sh --apply
Avant de continuer : Cette procédure installe Docker et écrit les secrets Stoat sur un nouveau serveur. Confirmez le Cloud Firewall et le DNS avant l'installation finale.
cd ~/stoat-droplet-runbook- Modifier d’abordRemplacez chaque valeur surlignée avant d’exécuter la commande.
sudo ./scripts/preflight.sh chat.example.comRemplacez avant l’exécution :
chat.example.com - Modifier d’abordRemplacez chaque valeur surlignée avant d’exécuter la commande.
sudo ./scripts/install-official-stoat.sh --apply chat.example.comRemplacez avant l’exécution :
chat.example.com
Démarrez une fois puis vérifiez HTTPS
Le générateur crée secrets.env. Sauvegardez-le avant de démarrer le service. Démarrez au premier plan, lisez les erreurs éventuelles, arrêtez avec Ctrl+C puis lancez la commande en arrière-plan. Le script de vérification contrôle la configuration Compose, les services actifs et HTTPS public sans afficher les secrets. Il ne prouve pas encore que l'app web marche.
Avant de continuer : La commande au premier plan démarre toute la pile Stoat. Lisez sa sortie avant de l'arrêter et de lancer le service en arrière-plan.
cd /opt/stoatsudo docker compose upsudo docker compose up -d- Modifier d’abordRemplacez chaque valeur surlignée avant d’exécuter la commande.
sudo ~/stoat-droplet-runbook/scripts/verify-stoat.sh chat.example.comRemplacez avant l’exécution :
chat.example.com
Faites un seul petit test réel
Ouvrez https://chat.example.com dans un profil navigateur séparé. Créez un compte de test, envoyez un message inoffensif et téléversez un fichier jetable si le stockage est activé. Si vous avez activé les appels, testez depuis un second réseau. Une page HTTPS verte ne prouve pas les ports d'appel.
Utilisez le client navigateur ou installez-le comme PWA. La plupart des clients officiels Stoat ne prennent pas en charge les instances auto-hébergées. Arrêtez si un service interne est public, si le certificat échoue, si des secrets apparaissent dans la sortie ou si vous ne pouvez pas expliquer un port ouvert. Lisez les avis officiels de Stoat avant toute mise à jour.