Implantar na AWS

Implante o nostrfy na AWS EC2, Lightsail ou ECS/Fargate — passo a passo, com systemd, TLS atrás de um proxy reverso e uma lista de verificação de produção.

Opções: EC2 (VM, recomendado), Lightsail (VM mais simples) ou ECS/Fargate (contêineres).

Opção 1: EC2 (recomendado)

  1. Inicie uma instância: Amazon Linux 2023 ou Ubuntu 24.04 LTS, t3.small (2 GB de RAM) é suficiente para começar. Escolha uma região próxima aos seus usuários.
  2. Grupo de segurança: permita TCP de entrada 8080 (e 443 para TLS). Limite a regra SSH ao seu IP.
  3. Conecte-se via SSH e siga o guia genérico de VPS:
sh
ssh -i your-key.pem ec2-user@<public-ip>        # No Ubuntu: ubuntu@<public-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. Verifique:
sh
curl http://<public-ip>:8080/health
  1. Adicione TLS (wss://) com certbot + nginx (como no guia VPS) ou com um Application/Network Load Balancer com certificado ACM — depois defina relay.public_url e reinicie.

Opção 2: Lightsail

Instâncias Lightsail funcionam exatamente como o guia EC2 — a aba de rede contém as regras de firewall: abra TCP 8080.

Opção 3: ECS / Fargate (contêiner)

O Dockerfile do repositório baixa o binário de release pré-compilado no momento do build:

  1. Envie a imagem para o ECR:
    sh
    docker buildx build --platform linux/amd64,linux/arm64 -t <account>.dkr.ecr.<region>.amazonaws.com/nostrfy .
  2. Crie um serviço ECS (Fargate, 1 tarefa) com um volume EFS montado em /data (persistência LMDB — sem ele, os dados são perdidos nas reimplantações).
  3. Exponha a porta 8080; coloque na frente um ALB + certificado ACM para TLS.
  4. A configuração embutida deploy/nostrfy.container.toml pode ser substituída montando seu próprio nostrfy.toml em /etc/nostrfy/nostrfy.toml (p. ex. um fork que o copia para a imagem).

Elastic IP

Associe um Elastic IP à instância se você pará-la/iniciá-la — caso contrário o IP público muda e o public_url quebra.

TLS é terminado pelo seu proxy ou pelo provedor
O relay serve WebSocket simples na 8080 e respeita X-Forwarded-Proto.