Deploy to Azure
Deploy your app to an Azure Virtual Machine through Zynnode.
Zynnode can deploy your application to Azure Virtual Machines. This gives you a full server running your app in Microsoft's cloud, suitable for full-stack applications, APIs, and apps that need persistent processes.
Before deploying, make sure you've connected your Azure account.
What Azure VM Is Best For
- Full-stack web applications (Node.js, Python, etc.)
- REST APIs and backend services
- Apps that need background processes, WebSockets, or long-running tasks
- Applications where you need control over the server environment
If your app is a static site or single-page application, consider Cloudflare Pages or AWS S3 + CloudFront instead — they're simpler and faster for static content.
Setting Up Your Project
During the project configuration step in the new project wizard:
- Select your GitHub repository.
- Zynnode auto-detects your framework and build settings.
- Choose Azure VM as your deployment target from the dropdown.
- Review the build settings:
- Build Command — e.g.,
npm run build - Output Directory — Where your built files are located
- Build Command — e.g.,
- Add any environment variables your app needs (e.g.,
DATABASE_URL,API_KEY). - Continue to the provider selection and choose Azure.
What Happens During Deployment
- Zynnode clones your repository and runs the build command.
- A Virtual Machine is provisioned in your Azure subscription (or an existing VM is updated).
- Your built application is transferred to the VM and started.
- The VM's public IP or DNS is registered as your deployment URL.
The deployment URL is shown in your Zynnode dashboard once the build completes.
After Deployment
Your Live URL
Your app is accessible at the VM's public IP address or DNS name, shown on your project card in the Zynnode dashboard. You can add a custom domain at any time.
Automatic Redeployments
Every push to your default branch on GitHub triggers a new deployment. Zynnode rebuilds your app and updates it on the same VM — no new instance is created.
Persistent Server
Unlike serverless options, your Azure VM runs continuously. Your app is always on, making it suitable for WebSocket connections, background jobs, and other long-running processes.
Things to Check in the Azure Portal
After your first deployment, you may need to configure a few settings in the Azure Portal to make sure your app is accessible from the internet.
Verify Network Security Group Rules
If your app deploys successfully but you can't access it in a browser:
- Open the Azure Portal.
- Search for Virtual machines in the top search bar and click it.
- Find and click on your Zynnode VM.
- In the left sidebar, click Networking → Network settings.
- Look at the Inbound port rules section.
- Make sure the following rules exist:
- HTTP — Port 80, Source: Any
- HTTPS — Port 443, Source: Any
If these rules are missing:
- Click Create port rule → Inbound port rule.
- Set Destination port ranges to
80(or443). - Set Protocol to TCP.
- Set Action to Allow.
- Give it a name like
Allow-HTTPand click Add.
Make sure your application listens on 0.0.0.0 (not localhost or 127.0.0.1) and reads the port from the environment using something like process.env.PORT. Apps that bind to localhost will reject external traffic even if the firewall rules are correct.
Good to Know
- VM cost — Azure VMs run continuously and incur cost based on the VM size. Check your Azure billing dashboard to monitor usage.
- One app per VM — Each Zynnode project gets its own VM. If you have multiple projects, each one runs on a separate instance.
- Operating system — Zynnode provisions a Linux-based VM and handles the OS setup automatically. You don't need to SSH in or configure anything manually.
Troubleshooting
App deployed but times out in the browser
- Check the network security group rules (steps above).
- Make sure your app binds to
0.0.0.0and reads the port from the environment. - Verify the VM is running in the Azure Portal (not in a stopped or deallocated state).
Deployment fails with "quota exceeded"
- Your Azure subscription may have a limit on the number of VMs or cores. Open the Azure Portal, go to Subscriptions → your subscription → Usage + quotas, and check if you've hit any limits.
App works on first deploy but breaks on redeploy
- Check the build logs in Zynnode for any errors.
- Make sure your app doesn't hardcode file paths or ports that might conflict during an update.
For more provider-specific errors, see the Troubleshooting guide.