Airflow

Generated on 24 Jun 2026 from the Airflow catalog page

Apache Airflow allows you to define almost any workflow in Python code, no matter how complex. Because of its versatility, Airflow is used by companies all over the world for a variety of use cases.

If you’re looking to deploy Airflow in production, check out the DigitalOcean Airflow Blueprint! Blueprints are Terraform based deployments that allow you to spin up multiple resources at once on DigitalOcean.

Software Included

This Marketplace listing does not include a detailed software list.

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the Airflow 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB Airflow Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image":"airflow"}' \
        "https://api.digitalocean.com/v2/droplets"

Getting Started After Deploying Airflow

Airflow 1-Click

Deploy Apache Airflow on Ubuntu 24.04 with local PostgreSQL and Redis by default. Optionally attach DigitalOcean Managed Databases during Droplet creation for production-ready metadata storage and Celery task execution.

Getting Started

  1. Select the Airflow 1-Click from the DigitalOcean Marketplace
  2. Choose a Droplet size and region
  3. Optionally select Add a Database to attach Managed PostgreSQL and/or Managed Valkey/Redis (see below)
  4. Create the Droplet and SSH in as root

On first boot, Airflow is configured automatically. Access the web UI at http://your-droplet-ip with:

  • Username: admin
  • Password: stored in /root/.digitalocean_passwords

Using a DigitalOcean Managed Database (Optional)

When creating your Droplet, you can select Add a Database to provision Managed PostgreSQL and/or Managed Valkey/Redis alongside Airflow. Managed databases replace the local instances to better secure your data and give you easy backups, connection pools, and metrics. No manual DBaaS setup is required.

What happens when you add a database

When you choose this option during Droplet creation, DigitalOcean provisions the selected database cluster(s) and passes connection credentials to your Droplet at first boot in /root/.digitalocean_dbaas_credentials.

During first-boot setup, the Droplet automatically:

Managed PostgreSQL (metadata database):

  1. Waits for the PostgreSQL cluster to become available (this may take a few minutes)
  2. Updates sql_alchemy_conn in /home/airflow/airflow/airflow.cfg to use the Managed Database over SSL
  3. Re-runs Airflow database migrations against the managed cluster
  4. Stops and disables the local PostgreSQL instance

Managed Valkey/Redis (broker/keystore):

  1. Configures the redis_managed Airflow connection to point at the managed service with SSL enabled
  2. Stops and disables the local Redis instance
  3. If Managed PostgreSQL is also attached, switches Airflow to CeleryExecutor with the managed Redis broker and managed Postgres result backend, and starts the Celery worker service

If no Managed Database is added, Airflow uses local PostgreSQL (localhost:5432) and local Redis (localhost:6379). The local Redis password is stored in /root/.digitalocean_passwords.

Security: Trusted Sources

Your Droplet is not automatically added to a Managed Database’s trusted sources. For better security, add your Droplet’s public IP address to each cluster’s Trusted Sources in the DigitalOcean control panel:

  1. Open your database cluster in the control panel
  2. Go to SettingsTrusted Sources
  3. Add your Droplet’s public IP address

Modifying database settings later

  • Airflow metadata DB: Update sql_alchemy_conn in /home/airflow/airflow/airflow.cfg and restart Airflow services
  • Celery broker/backend: Update the [celery] section in airflow.cfg if using CeleryExecutor
  • Airflow connections: Use airflow connections CLI or the Airflow UI to manage redis_managed and other connections
  • Password rotation: If you change credentials in the control panel, update airflow.cfg and Airflow connections to match

File Locations

  • Airflow home: /home/airflow/airflow
  • Example DAGs: /home/airflow/airflow/dags
  • Admin password: /root/.digitalocean_passwords
  • Setup log: /var/log/one_click_setup.log

We can't find any results for your search.

Try using different keywords or simplifying your search terms.