Déployer sur DigitalOcean
Déployez nostrfy sur un Droplet DigitalOcean ou sur App Platform — étape par étape, avec systemd, TLS et une configuration prête pour la production.
Deux options : un Droplet (VM, le plus simple) ou App Platform (conteneurs).
Option 1 : Droplet (recommandé)
- Créer un Droplet : Ubuntu 24.04 LTS, n’importe quelle taille (1 Go de RAM suffit pour commencer). Un Droplet dans une région proche de vos utilisateurs réduit la latence.
- Connectez-vous en SSH et suivez le guide VPS générique :
sh
ssh root@<droplet-ip>
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
sudo mkdir -p /etc/nostrfy
sudo curl -fsSL -o /etc/nostrfy/nostrfy.toml \
https://raw.githubusercontent.com/iqbqioza/nostrfy/main/deploy/nostrfy.toml
sudo nano /etc/nostrfy/nostrfy.toml # définissez name, public_url, private_key
sudo curl -fsSL -o /etc/systemd/system/nostrfy.service \
https://raw.githubusercontent.com/iqbqioza/nostrfy/main/deploy/nostrfy.service
sudo systemctl daemon-reload
sudo systemctl enable --now nostrfy- Ouvrez le port dans le pare-feu du Droplet (le DigitalOcean Cloud Firewall est recommandé) : autorisez le TCP entrant
8080(et443si vous ajoutez TLS). - Vérifiez :
sh
curl http://<droplet-ip>:8080/health- Ajoutez TLS (
wss://) avec certbot + nginx, ou l’équilibreur de charge managé de DigitalOcean avec un certificat — puis définissezrelay.public_url = "wss://relay.example.com"et redémarrez.
Option 2 : App Platform (conteneur)
App Platform construit à partir du Dockerfile du dépôt (qui télécharge le binaire de
release précompilé) :
- Connectez votre dépôt GitHub et créez une app à partir de celui-ci.
- Port : définissez le port HTTP sur
8080(le relais y écoute). - Disque persistant : montez un volume sur
/data(les données LMDB y résident — sans lui, les données sont perdues à chaque déploiement). - Env : le fichier
deploy/nostrfy.container.tomlintégré à l’image peut être remplacé en montant votre propre configuration sur/etc/nostrfy/nostrfy.toml(créez un fork qui le copie, ou utilisez unCOPYdans le Dockerfile de votre propre dépôt). - TLS : App Platform fournit
https://automatiquement pour le domaine de l’app — définissezrelay.public_urlen conséquence.
Les deux options
- Mises à jour : réexécutez
install.sh+systemctl restart nostrfy(Droplet), ou poussez vers le dépôt connecté (App Platform). - Toute la configuration est documentée dans la référence de configuration.