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.
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
- Select the Airflow 1-Click from the DigitalOcean Marketplace
- Choose a Droplet size and region
- Optionally select Add a Database to attach Managed PostgreSQL and/or Managed Valkey/Redis (see below)
- 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):
- Waits for the PostgreSQL cluster to become available (this may take a few minutes)
- Updates
sql_alchemy_connin/home/airflow/airflow/airflow.cfgto use the Managed Database over SSL - Re-runs Airflow database migrations against the managed cluster
- Stops and disables the local PostgreSQL instance
Managed Valkey/Redis (broker/keystore):
- Configures the
redis_managedAirflow connection to point at the managed service with SSL enabled - Stops and disables the local Redis instance
- 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:
- Open your database cluster in the control panel
- Go to Settings → Trusted Sources
- Add your Droplet’s public IP address
Modifying database settings later
- Airflow metadata DB: Update
sql_alchemy_connin/home/airflow/airflow/airflow.cfgand restart Airflow services - Celery broker/backend: Update the
[celery]section inairflow.cfgif using CeleryExecutor - Airflow connections: Use
airflow connectionsCLI or the Airflow UI to manageredis_managedand other connections - Password rotation: If you change credentials in the control panel, update
airflow.cfgand 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