65 lines
2.3 KiB
YAML
65 lines
2.3 KiB
YAML
services:
|
|
db:
|
|
container_name: db-airflow
|
|
image: 'postgres:15.15'
|
|
environment:
|
|
POSTGRES_USER: '${POSTGRES_USER}'
|
|
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
|
|
POSTGRES_DB: '${POSTGRES_DB}'
|
|
volumes:
|
|
- 'airflow-postgres_data:/var/lib/postgresql/data'
|
|
restart: unless-stopped
|
|
networks:
|
|
airflow_network: null
|
|
labels:
|
|
- coolify.managed=true
|
|
- coolify.version=4.0.0-beta.323
|
|
- coolify.applicationId=17
|
|
- coolify.type=application
|
|
- coolify.name=db-airflow
|
|
|
|
airflow:
|
|
container_name: airflow
|
|
image: 'apache/airflow:3.1.3'
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
AIRFLOW__DATABASE__SQL_ALCHEMY_CONN: 'postgresql+psycopg2://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}'
|
|
AIRFLOW__CORE__LOAD_EXAMPLES: 'false'
|
|
AIRFLOW__CORE__EXECUTOR: LocalExecutor
|
|
AIRFLOW__WEBSERVER__EXPOSE_CONFIG: 'true'
|
|
AIRFLOW__CORE__DAGS_FOLDER: /opt/airflow/dags
|
|
volumes:
|
|
- '/data/coolify/applications/airflow/dags:/opt/airflow/dags'
|
|
- '/data/coolify/applications/airflow/logs:/opt/airflow/logs'
|
|
- '/data/coolify/applications/airflow/plugins:/opt/airflow/plugins'
|
|
command: >
|
|
bash -c "airflow db migrate && airflow scheduler & exec airflow api-server --port 8080"
|
|
restart: unless-stopped
|
|
networks:
|
|
airflow_network: null
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.airflow-http.entrypoints=http
|
|
- traefik.http.routers.airflow-http.rule=Host(`airflow.camcodes.dev`)
|
|
- traefik.http.routers.airflow-http.middlewares=redirect-to-https
|
|
- traefik.http.routers.airflow-https.entrypoints=https
|
|
- traefik.http.routers.airflow-https.rule=Host(`airflow.camcodes.dev`)
|
|
- traefik.http.routers.airflow-https.tls=true
|
|
- traefik.http.routers.airflow-https.tls.certresolver=letsencrypt
|
|
- traefik.http.services.airflow.loadbalancer.server.port=8080
|
|
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
|
|
- coolify.managed=true
|
|
- coolify.version=4.0.0-beta.323
|
|
- coolify.applicationId=17
|
|
- coolify.type=application
|
|
- coolify.name=airflow
|
|
|
|
volumes:
|
|
airflow-postgres_data:
|
|
name: airflow-postgres_data
|
|
|
|
networks:
|
|
airflow_network:
|
|
name: airflow_network
|
|
external: true
|