Fl
Media & Entertainment Azure

Flamenco on Ubuntu 24.04 on Azure User Guide

| Product: Flamenco on Ubuntu 24.04 LTS on Azure

Overview

Flamenco is an open source render farm manager from Blender Studio that coordinates rendering jobs and distributes them across worker machines running Blender. This cloudimg image ships the Flamenco Manager: a single self-contained Go binary with an embedded web dashboard that submits, tracks and manages render jobs and workers across your farm. The Manager runs as a systemd service bound to the loopback address 127.0.0.1:8080, fronted by an nginx reverse proxy that terminates TLS on port 443; port 80 redirects to HTTPS. The image ships already configured, so it boots straight into the dashboard rather than an interactive setup assistant, and a fresh self-signed TLS certificate is generated on the first boot of every VM. Workers are separate machines with Blender installed that you connect to the Manager afterwards. Backed by 24/7 cloudimg support.

What is included:

  • Flamenco Manager 3.9.3 managed by systemd, serving its dashboard and REST API on 127.0.0.1:8080
  • An nginx reverse proxy terminating TLS on port 443, with port 80 redirecting to HTTPS
  • A self-signed TLS certificate regenerated uniquely on the first boot of every VM
  • A ready-to-run configuration (flamenco-manager.yaml) so the appliance boots into the dashboard, not the setup assistant
  • SQLite storage and a shared-storage directory under /var/lib/flamenco, owned by a dedicated flamenco system user
  • flamenco-manager.service and nginx.service as systemd units, enabled and active
  • The Flamenco REST API and Blender add-on served directly from the Manager
  • 24/7 cloudimg support

Flamenco Manager has no built-in login by design (it targets a trusted network), so security is provided by the network shape: the Manager binds the loopback interface only and the sole public surface is nginx on port 443. Restrict access to the dashboard at the network level and, for production, install your own TLS certificate (see Maintenance).

Prerequisites

An active Azure subscription, an SSH key pair, and a VNet plus subnet in the target region. Standard_B2s (2 vCPU / 4 GiB RAM) is a comfortable starting point for the Manager (rendering itself runs on your separate worker machines). NSG inbound rules: allow 22/tcp from your management network for SSH and 443/tcp for the dashboard and API. Port 80 is optional and only redirects to HTTPS. Workers connect to the Manager over port 443 as well.

Step 1 - Deploy from the Azure Marketplace

Sign in to the Azure Portal, choose Create a resource, search the Marketplace for Flamenco by cloudimg, and select Create. On Basics pick your subscription, resource group, region and size; under Administrator account choose SSH public key and paste your key; under Inbound port rules allow SSH (22) and HTTPS (443). Then Review + create -> Create.

Step 2 - Deploy from the Azure CLI

az vm create \
  --resource-group <your-rg> \
  --name flamenco \
  --image <marketplace-image-urn> \
  --size Standard_B2s \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_ed25519.pub \
  --vnet-name <your-vnet> --subnet <your-subnet> \
  --public-ip-sku Standard

az vm open-port --resource-group <your-rg> --name flamenco --port 443 --priority 1010

Step 3 - Connect to your VM

ssh azureuser@<public-ip>

Step 4 - Confirm the services are running

systemctl is-active flamenco-manager.service nginx.service

Both report active. The Flamenco Manager serves its dashboard and REST API on the loopback address 127.0.0.1:8080, and nginx fronts it over TLS on port 443. You can confirm the loopback listener and that first boot has completed:

ss -tln | grep '127.0.0.1:8080'
ls -l /var/lib/cloudimg/flamenco-firstboot.done

flamenco-manager.service and nginx.service active, the Manager listening on 127.0.0.1:8080, and the first-boot sentinel present

Step 5 - Review the version, configuration and connection URL

The Manager version, its baked configuration and the per-VM connection URL are all easy to check. The connection details are written to a root-only file on first boot:

/opt/flamenco/flamenco-manager -version 2>&1 | sed 's/\x1b\[[0-9;]*m//g' | head -1
grep -E '^(listen|database|shared_storage_path):' /var/lib/flamenco/flamenco-manager.yaml
sudo cat /root/flamenco-credentials.txt

The version line reports version=3.9.3. The configuration binds the Manager to 127.0.0.1:8080 with its SQLite database and shared storage under /var/lib/flamenco. The credentials file contains FLAMENCO_URL, the HTTPS address to open in your browser. Flamenco has no login, so there is no password to store.

The Flamenco Manager version, the listen address and storage paths from flamenco-manager.yaml, and the per-VM connection URL

Step 6 - Confirm the Manager API and the TLS dashboard

The Manager exposes a REST API. The configuration endpoint reports "isFirstRun": false, which confirms the appliance booted into the dashboard rather than the setup assistant:

curl -s http://127.0.0.1:8080/api/v3/configuration
curl -s http://127.0.0.1:8080/api/v3/version

nginx fronts the dashboard over TLS. A request to / redirects to the single-page app at /app/, which loads with HTTP 200:

curl -ks -o /dev/null -w 'GET /app/ -> HTTP %{http_code}\n' https://127.0.0.1/app/

The Flamenco Manager REST API returning isFirstRun false and shamanEnabled true, and nginx terminating TLS in front of the dashboard

Step 7 - Open the dashboard in your browser

Browse to the FLAMENCO_URL from Step 5, for example https://<public-ip>/. Because the certificate is self-signed, your browser shows a one-time warning; accept it to continue (or install your own certificate, see Maintenance). The Flamenco Manager dashboard opens on the Jobs page, where you submit, pause, requeue and track render jobs. The header shows the farm status and the Manager version.

The Flamenco Manager Jobs dashboard showing the job management toolbar, the jobs table and the Blender add-on onboarding panel

The Settings page is an in-browser editor for the Manager configuration - the shared storage location, timeouts, variables and more - writing directly to flamenco-manager.yaml.

The Flamenco Manager settings page showing the core configuration with the database path and the loopback listen address

Step 8 - Connect render workers

Rendering runs on worker machines, which are separate hosts with Blender installed. Download the matching Flamenco worker from flamenco.blender.org onto each worker machine and point it at this Manager over HTTPS:

flamenco-worker -manager https://<public-ip>/

Each worker registers itself and appears on the Workers page of the dashboard, where you can monitor status, pause a worker or inspect its details. Until at least one worker connects, the farm status reads inoperative - that is expected on a fresh Manager.

The Flamenco Manager Workers page listing the worker fleet with a details pane

You can confirm the (initially empty) worker fleet from the API:

curl -s http://127.0.0.1:8080/api/v3/worker-mgt/workers

The Flamenco Manager ready to accept render workers, with the empty worker fleet from the API and the Manager service active

Step 9 - Explore the REST API

The Manager ships an interactive OpenAPI (Swagger) explorer for the full render-farm API - jobs, workers, tags and configuration - useful for automating job submission and farm management. Open it at https://<public-ip>/api/v3/swagger-ui/.

The Flamenco Manager Swagger UI showing the Render Farm manager API with its meta and configuration endpoints

Maintenance

Restrict access. Flamenco Manager has no login, so keep the NSG rule for port 443 scoped to the networks that run your workers and operators rather than the whole internet.

Install a real TLS certificate. The image ships a self-signed certificate regenerated per VM at /etc/nginx/tls/flamenco.crt and /etc/nginx/tls/flamenco.key. For production, replace them with a certificate for your own domain (for example from Let's Encrypt), then reload nginx:

sudo systemctl reload nginx

Shared storage. Render job files are exchanged through the shared storage directory at /var/lib/flamenco/shared. For a larger farm, mount dedicated or network storage there and update the shared storage location on the Settings page.

Updates. The image keeps unattended security updates enabled for the OS. To update Flamenco itself, download a newer release from flamenco.blender.org, replace the binary under /opt/flamenco, and restart flamenco-manager.service.

Support

Every cloudimg image is backed by 24/7 support. If you have any questions about Flamenco on Ubuntu 24.04, contact us at support@cloudimg.co.uk.