Implantar na DigitalOcean

Implante o nostrfy em um Droplet da DigitalOcean ou na App Platform — passo a passo, com systemd, TLS e uma configuração pronta para produção.

Duas opções: um Droplet (VM, o mais simples) ou a App Platform (contêineres).

Opção 1: Droplet (recomendado)

  1. Crie um Droplet: Ubuntu 24.04 LTS, qualquer tamanho (1 GB de RAM é suficiente para começar). Um Droplet em uma região próxima aos seus usuários reduz a latência.
  2. Acesse via SSH e siga o guia genérico de VPS:
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                 # defina 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
  1. Abra a porta no firewall do Droplet (o DigitalOcean Cloud Firewall é recomendado): permita o TCP de entrada 8080 (e 443 se adicionar TLS).
  2. Verifique:
sh
curl http://<droplet-ip>:8080/health
  1. Adicione TLS (wss://) com certbot + nginx, ou o balanceador de carga gerenciado da DigitalOcean com um certificado — em seguida defina relay.public_url = "wss://relay.example.com" e reinicie.

Opção 2: App Platform (contêiner)

A App Platform compila a partir do Dockerfile do repositório (que baixa o binário de release pré-compilado):

  1. Conecte seu repositório do GitHub e crie um app a partir dele.
  2. Porta: defina a porta HTTP para 8080 (o relay escuta nela).
  3. Disco persistente: monte um volume em /data (os dados LMDB ficam lá — sem ele, os dados são perdidos a cada implantação).
  4. Env: o arquivo deploy/nostrfy.container.toml embutido na imagem pode ser substituído montando sua própria configuração em /etc/nostrfy/nostrfy.toml (crie um fork que o copie, ou use um COPY no Dockerfile do seu próprio repo).
  5. TLS: a App Platform fornece https:// automaticamente para o domínio do app — defina relay.public_url de acordo.

Ambas as opções

  • Atualizações: execute novamente install.sh + systemctl restart nostrfy (Droplet), ou faça push para o repositório conectado (App Platform).
  • Toda a configuração está documentada na referência de configuração.