Add an Azure server
Provision a Linux Worker Node in your Azure subscription from dFlow, then attach it to an Environment.
Use this guide when you want a Worker Node that runs in your Azure subscription while dFlow handles VM creation, initial setup, and onboarding.
You need a connected Azure account first. See Azure integration under Integrations in the sidebar.
Before you start
- Connect Azure under Integrations and confirm the account shows Connected.
- Know which subscription and resource group should host the VM. You can create a resource group from the form if you have permission.
- Confirm your dFlow role allows adding servers (
servers.create) and using cloud accounts (cloudProviderAccounts.read). See Roles and permissions under Security and Team Management in the sidebar. - Plan network access: dFlow configures connectivity over Tailscale during onboarding. For Basic network security group mode, required inbound ports (SSH, Tailscale, monitoring, HTTP, HTTPS) are applied automatically.
Path A: Add a worker from the Workers page
- Open Workers and click Add new server (or Add Worker Node).
- Choose Cloud provider (or equivalent) as the setup type.
- Select Azure.
- Complete the form tabs below, then click Create Azure worker node.
Expected outcome: dFlow queues VM creation. You see a toast that provisioning may take a few minutes. The new worker appears in your list with a provisioning status until onboarding finishes.
If you chose Generate for the SSH key, download the private key when prompted and store it safely. dFlow does not show it again.
Path B: Provision during Add Environment
- Start Add Environment for an Application.
- On the Compute step, choose Azure compute.
- Under Worker setup, pick Provision new worker.
- Select your Azure account and a saved machine type, or add a machine type first from Integrations or the Add machine type button on this step.
- Continue the wizard. dFlow provisions the VM using the machine type settings and attaches it to the new Environment.
To reuse a worker you already provisioned, choose Use existing worker instead and pick it from the list.
Form tabs (Workers page and machine types)
The Azure form has three tabs. Use Previous and Next to move between them before you submit.
Basic
| Field | What to choose |
|---|---|
| Account | Linked Azure integration. Connect a new one from the link if the list is empty. |
| Subscription | Azure subscription that will own the VM. |
| Resource group | Existing group or Create to add one in the selected region. |
| Name | VM name in Azure. dFlow suggests a unique name per resource group. |
| Region | Azure location for the VM and related resources. |
| Image | dFlow image (recommended when available in your region) or Ubuntu 24.04 LTS from the marketplace. The dFlow image includes platform tooling pre-baked for faster onboarding. |
| VM size | Size compatible with the image and region. Unavailable sizes may appear for reference with a reason. |
| Availability zone | Optional zone when the size supports zone redundancy. |
| Administrator account | SSH public key (default) or Password (Ubuntu images only). For SSH, generate a new key pair, import your public key, or select an existing Azure SSH key in the resource group. |
Disk
| Field | What to choose |
|---|---|
| OS disk type | Premium SSD is the default and recommended for production workloads. Other SSD and HDD options appear based on region and VM size. |
| OS disk size | Image default or a larger size from the allowed list. |
| Delete OS disk with VM | When enabled, removing the worker from dFlow can delete the disk in Azure (see deletion below). |
Network
| Field | What to choose |
|---|---|
| Virtual network | Existing VNet in the resource group or Create a new one. |
| Subnet | Subnet for the VM NIC. |
| NIC network security group | Basic: dFlow creates an NSG with required inbound ports for SSH, Tailscale, monitoring, HTTP, and HTTPS. Advanced: attach an existing NSG you manage in Azure. |
| Delete NIC with VM | When enabled, NIC cleanup can run when the worker is removed from dFlow. |
After provisioning
- Open the worker detail page and wait for status to move from provisioning to connected. This can take several minutes while Azure creates the VM and cloud-init runs.
- Attach the worker to an Environment if you created it from the Workers page. See Attach compute to an environment under Environments in the sidebar.
- Deploy Services only after the worker is connected and any first-time preparation jobs finish.
If status stays stuck, see Compute troubleshooting under Worker Nodes and Compute in the sidebar and Integration troubleshooting under Integrations in the sidebar.
Delete an Azure worker
When you delete a worker from dFlow, you can optionally Delete VM in Azure to remove the virtual machine from your subscription. If you leave that unchecked, dFlow removes the record but the VM keeps running in Azure for you to manage manually.