dFlow
Worker Nodes and Compute

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

  1. Connect Azure under Integrations and confirm the account shows Connected.
  2. Know which subscription and resource group should host the VM. You can create a resource group from the form if you have permission.
  3. 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.
  4. 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

  1. Open Workers and click Add new server (or Add Worker Node).
  2. Choose Cloud provider (or equivalent) as the setup type.
  3. Select Azure.
  4. 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

  1. Start Add Environment for an Application.
  2. On the Compute step, choose Azure compute.
  3. Under Worker setup, pick Provision new worker.
  4. 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.
  5. 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

FieldWhat to choose
AccountLinked Azure integration. Connect a new one from the link if the list is empty.
SubscriptionAzure subscription that will own the VM.
Resource groupExisting group or Create to add one in the selected region.
NameVM name in Azure. dFlow suggests a unique name per resource group.
RegionAzure location for the VM and related resources.
ImagedFlow 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 sizeSize compatible with the image and region. Unavailable sizes may appear for reference with a reason.
Availability zoneOptional zone when the size supports zone redundancy.
Administrator accountSSH 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

FieldWhat to choose
OS disk typePremium SSD is the default and recommended for production workloads. Other SSD and HDD options appear based on region and VM size.
OS disk sizeImage default or a larger size from the allowed list.
Delete OS disk with VMWhen enabled, removing the worker from dFlow can delete the disk in Azure (see deletion below).

Network

FieldWhat to choose
Virtual networkExisting VNet in the resource group or Create a new one.
SubnetSubnet for the VM NIC.
NIC network security groupBasic: 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 VMWhen enabled, NIC cleanup can run when the worker is removed from dFlow.

After provisioning

  1. 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.
  2. 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.
  3. 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.

On this page