Derek Coleman & Associates Inc logoDerek Coleman & Associates Inc

Home / Support / Apache Airflow on Ubuntu 24.04 LTS

Apache Airflow on Ubuntu 24.04 LTS — Support & Quick Start

Apache Airflow on Ubuntu 24.04 LTS — Apache Airflow is the industry-standard platform for authoring, scheduling, and monitoring data pipelines as code. Published by Derek Coleman & Associates Inc on the Azure Marketplace, deployed in your own Azure subscription.

At a glance

Application ports8080 (web UI + REST API)
Open in browserhttp://<VM-IP>:8080/
Admin credential filesudo cat /opt/airflow/admin-password
Sign in asdcaadmin-<random> (AIRFLOW_ADMIN_USER in the credential file — not `admin`)
Service(s)airflow-api-server (UI + REST API on 8080; replaces Airflow 2's airflow-webserver), airflow-scheduler, airflow-dag-processor, airflow-triggerer
Configuration/opt/airflow/airflow.cfg and /etc/default/airflow (environment shared by the four services; AIRFLOW_HOME=/opt/airflow; metadata DB /opt/airflow/airflow.db); DAGs in /opt/airflow/dags/
Logsjournalctl -u airflow-api-server -f; journalctl -u airflow-scheduler -f; journalctl -u airflow-dag-processor -f; journalctl -u airflow-triggerer -f
VersionApache Airflow 3.3.2 (Python 3.12 venv, FAB auth manager, LocalExecutor, SQLite metadata DB)
PlatformUbuntu 24.04 LTS

Quick start

  1. Deploy from the Azure Marketplace (Get It Now → Create), choosing your SSH key at the Administration step.
  2. Allow inbound SSH (22) for yourself plus the application port(s): 8080 (web UI + REST API) — restrict to your own IP where possible. The in-image firewall already allows them; only the Network Security Group (NSG) keeps them closed.
  3. Open http://<VM-IP>:8080/ in your browser and sign in with the generated username and password (see First login below).
  4. Drop your DAG files into /opt/airflow/dags/; the DAG processor picks them up automatically (no example DAGs are pre-loaded). DAGs written for Airflow 2 may need changes — see Airflow's upgrading-to-Airflow-3 guide and run `ruff check --select AIR301` on them.

First login / credentials

This image generates its admin credential on the VM at first boot — nothing is pre-set. SSH into the VM with the username + key you chose at deploy, then print the generated credential:

ssh <your-username>@<VM-IP>
sudo cat /opt/airflow/admin-password

Sign in as dcaadmin-<random> (AIRFLOW_ADMIN_USER in the credential file — not `admin`).

  1. Print the credential file: it holds AIRFLOW_ADMIN_USER (a per-VM name of the form dcaadmin-xxxxxxxx) and AIRFLOW_ADMIN_PASSWORD.
  2. Open http://<VM-IP>:8080/ (the Airflow 3 UI sends you to its sign-in form at /auth/login/) and sign in with that username and password.
  3. Change the password after first sign-in and delete the file once stored securely.

The username is per-VM (dcaadmin-xxxxxxxx), not `admin`; both lines are in the file. REST API: http://<VM-IP>:8080/api/v2/ (Airflow 3 has no /api/v1) — get a token with `curl -X POST http://<VM-IP>:8080/auth/token -H 'Content-Type: application/json' -d '{"username":"<user>","password":"<password>"}'` and send it as `Authorization: Bearer <access_token>`; HTTP basic auth is not accepted. /api/v2/monitor/health reports all four components.

Still stuck?

Email support@dcassociatesgroup.com (response within 1 business day) or send a message via the contact form. Include the offer name, VM size, region, and any log output — sudo journalctl -u <service> -n 100 usually tells the story.