Hosting on Azure

Deploy a complete Netzilo Server on Azure from the Azure Marketplace. You don't build or configure anything by hand — a guided wizard (a Managed Application) does it all. You fill in a short form, point your domain at the server, and log in.

Typical time to a working server: 10–15 minutes.

Netzilo Server on the Azure Marketplace

How it works

The Managed Application deploys into your own Azure subscription and automatically:

  • launches the server (a virtual machine) running the full Netzilo stack — management, signal, dashboard, identity provider, TURN relay, database, cache, and reverse proxy;
  • creates the virtual network, a static public IP, and the security group with exactly the right ports;
  • installs and starts everything, and obtains a free HTTPS certificate on first boot.

You never touch VMs, networking, or firewall rules manually. You just fill in the wizard.

Billing is per named user, per hour, metered through the Azure Marketplace — you're billed only for the users you actually create.

What you need

Only two things:

  1. An Azure subscription.
  2. A domain name you can add a DNS record to (e.g. go.example.com).

An SSH public key is nice to have for logging into the VM later, but you can also choose a password in the wizard. Everything else is created for you.

What you'll do

  1. Open the wizard from the Azure Marketplace and fill in the form.
  2. Point your domain at the server's IP (shown after deployment).
  3. Log in.

Step 1 — Deploy from the wizard

  1. In the Azure Portal, open Marketplace, search for Netzilo, open Netzilo Server, and select Create.
  2. The wizard has three short tabs. Fill them in:

Basics — pick your Subscription, Resource group, and Region, then:

FieldWhat to enter
Domain (FQDN)e.g. go.example.com
Admin emailYour login username, e.g. admin@example.com
Admin first / last nameThe first administrator
Admin password12+ chars with upper, lower, number, and a symbol

Virtual machine — pick the VM size (leave the recommended default for most cases), the OS login username (default azureuser), and your SSH public key or a password.

Network & access — set the Allowed admin source CIDR, the range allowed to SSH in (e.g. 203.0.113.5/32 for your office/VPN), or * for anywhere.

  1. Give the deployment an Application name, accept the pre-filled Managed resource group, then Review + create → Create.

Step 2 — Point your domain at the server

When the deployment finishes, open its Outputs to find the public IP address, and create a DNS A record pointing at it:

go.example.com  →  A  →  

Once your domain resolves to that IP, the server obtains a trusted HTTPS certificate automatically within a few minutes — nothing more to do.

Step 3 — Log in

  1. Open https://<your-domain> (e.g. https://go.example.com).
  2. Sign in with the admin email and password you entered.
  3. You'll be asked to set a new password on first login.

Reference: sizing

The VM size is a picker in the wizard. Defaults suit most deployments:

VM sizevCPUMemoryGood for
Standard_D2s_v5 (recommended)28 GBMost deployments (up to a few hundred machines)
Standard_D4s_v5416 GBLarger networks / heavier relay traffic

Storage (a Premium SSD disk) is provisioned automatically.

Reference: ports

You don't configure these — the deployment creates the security group for you. Listed only so you know what's open:

Port(s)ProtocolSourcePurpose
22TCPYour admin CIDRSSH (admin)
80TCPPublicCertificate validation + redirect to HTTPS
443TCPPublicDashboard, API, and login
3478TCP & UDPPublicSTUN/TURN
5349TCP & UDPPublicTURN over TLS

Managing the server

SSH to the VM with the username and key you set. The stack lives under /opt/netzilo:

cd /opt/netzilo
sudo docker compose ps          # what's running
sudo docker compose logs -f     # follow logs
sudo docker compose pull        # fetch the latest version
sudo docker compose up -d       # apply updates / restart

Troubleshooting

SymptomLikely causeFix
Certificate warning in browserDNS not on the VM IP yet, or cert still issuingConfirm the A record → VM public IP (from Outputs); wait a minute and refresh
Can't SSHAdmin CIDR too narrowWiden the Allowed admin source CIDR, or connect from an allowed IP
Dashboard unreachableVM still finishing first bootWait for the deployment to finish plus a few minutes

Need help? Contact support@netzilo.com.