Azure
Deploy nostrfy on an Azure VM or Azure Container Apps.
Options: VM (recommended), or Container Apps.
Option 1: Virtual Machine (recommended)
- Create a VM: Ubuntu 24.04 LTS,
Standard_B1s(1 GB) orStandard_B2s(2 GB) to start. Choose a region close to your users. - Network security group (NSG): add an inbound rule for TCP
8080(and443for TLS). Restrict the SSH rule to your IP. - SSH in and follow the generic VPS guide:
sh
ssh <user>@<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 # set 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- Verify:
sh
curl http://<public-ip>:8080/health- Add TLS (
wss://) with certbot + nginx (as in the VPS guide) or an Azure Application Gateway with a certificate.
Option 2: Azure Container Apps
Container Apps builds from the repository Dockerfile (which downloads the pre-built
release binary):
- Create a Container App from the GitHub repo (or push the image to ACR).
- Port: set the container port to
8080. - Memory: at least 1 GB.
- Persistent storage: mount an Azure Storage file share at
/datafor the LMDB data. - TLS: Container Apps provides
https://on the app URL — setrelay.public_url = "wss://<app>.<region>.azurecontainerapps.io"(or a custom domain).