Skip to content

Your First Machine

This guide walks you through bootstrapping, configuring, and provisioning your first machine with Durantic.

Prerequisites

  • A Durantic account (see Account Setup)
  • A machine with network access (bare metal, cloud VM, or edge device)
  • The default Docker Image URL configured in Account Settings

Step 1: Configure Your Account

  1. Click your avatar in the top-right corner and select Account Settings
  2. On the Organization tab, set the Docker Image URL to your OS image (e.g., ghcr.io/durantic/linux-ubuntu-25.10:latest)
  3. If your registry requires authentication, add credentials in Docker Registry Auth
  4. Click Save

Account Settings - Organization

Step 2: Create a Mesh Network

  1. Navigate to Mesh Networks in the top navigation
  2. Click Create
  3. Enter a name (e.g., production) and a CIDR range (e.g., 172.30.0.0/24)
  4. Enable Default so new machines automatically join this network
  5. Click Create

Note: The CIDR range cannot be changed after creation. Choose a range large enough for your expected number of machines.

Step 3: Create a Machine Role

  1. Navigate to Machine Roles in the top navigation
  2. Click Create
  3. Fill in the form:
  4. Name: base-linux
  5. Description: Base configuration for all machines
  6. Merge Priority: 0 (lowest priority, applied first)
  7. Template:
    #cloud-config
    users:
      - name: admin
        sudo: ALL=(ALL) NOPASSWD:ALL
        ssh_authorized_keys:
          - {{ vars.admin_ssh_key }}
    packages:
      - curl
      - htop
      - docker.io
    
  8. Click Create

Tip: Create an account variable named admin_ssh_key under Secrets & Variables > Variables with your SSH public key before provisioning.

Step 4: Bootstrap the Machine

  1. Go to the Machines page
  2. Click Bootstrap in the top-right corner
  3. Choose your bootstrap method:

Copy the one-line command and run it on your target machine:

curl -sfL https://api.durantic.io/install.sh | DURANTIC_TOKEN=eyJ... bash -

Bootstrap - CLI method

Option B: ISO Image

  1. Click Download ISO Image and write it to a USB drive or mount it via IPMI
  2. Boot your machine from the ISO
  3. The machine displays a 6-character code on screen
  4. Enter the code in the Bootstrap dialog and click Bootstrap

Bootstrap - ISO method

Option C: PXE/Network Boot

  1. Download vmlinuz and initrd files
  2. Place them in your PXE server (TFTP/HTTP/NFS)
  3. Copy the bootstrap token and pass it as a kernel parameter
  4. Boot machines via PXE

Bootstrap - PXE method

Step 5: Configure the Machine

Once the machine appears in the Machines list:

  1. Click on the machine hostname to open its detail page
  2. On the Machine tab:
  3. Assign the base-linux role under Machine roles
  4. Select the Target Disk (populated from hardware discovery)
  5. Verify the Mesh Network is set
  6. Click Update

Machine overview

Step 6: Provision

  1. Go to the machine's Provisions tab
  2. Click Provision in the top-right corner
  3. Confirm the provisioning

The machine will: - Stream the OCI image to the target disk - Apply cloud-init configuration from your roles - Inject the Durantic agent and certificates - Reboot into the production OS

Monitor progress in the Provisions tab.

Step 7: Verify

After provisioning completes:

  1. The machine shows a green dot (online) in the Machines list
  2. Check the Hardware tab to see detected hardware
  3. Check the Network tab for WireGuard IP and mesh connectivity
  4. Check the Peers tab to verify mesh connections to other machines
  5. Open the Terminal tab for interactive shell access (requires 2FA)

Next Steps