Docker/Ordonnanceur/kestra/docker-compose.yml
2024-07-28 11:00:41 +02:00

71 lines
2.2 KiB
YAML

#### SERVICES
services:
# postgres
postgres:
container_name: kestra-postgres
hostname: kestra-postgres
environment:
PGDATA: /var/lib/postgresql/data/kestra
POSTGRES_DB: kestra_db
POSTGRES_PASSWORD: 'P@ssword!Here!123456'
POSTGRES_USER: kestra_user
TZ: Europe/Paris
image: postgres:15.6-alpine
volumes:
- ./data:/var/lib/postgresql/data:rw
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
interval: 30s
timeout: 10s
retries: 10
restart: always
# kestra
kestra:
container_name: kestra-app
hostname: kestra-app
environment:
KESTRA_CONFIGURATION: |
datasources:
postgres:
url: jdbc:postgresql://postgres:5432/kestra_db
driverClassName: org.postgresql.Driver
username: kestra_user
password: P@ssword!Here!123456
kestra:
server:
basic-auth:
enabled: false
username: "admin@kestra.io" # it must be a valid email address
password: kestra
repository:
type: postgres
storage:
type: local
local:
base-path: "/app/storage"
queue:
type: postgres
tasks:
tmp-dir:
path: /tmp/kestra-wd/tmp
url: http://localhost:8080/
image: kestra/kestra:latest-full
pull_policy: always
# Note that this setup with a root user is intended for development purpose. For production deployments, you might prefer a version without a root user.
# Our base image runs without root, but the Docker Compose implementation needs root to access the Docker socket
# This version is rootless but more complex https://github.com/kestra-io/kestra/blob/develop/docker-compose-dind.yml
user: "root"
command: server standalone --worker-thread=128
volumes:
- ./kestra-data:/app/storage:rw
- /var/run/docker.sock:/var/run/docker.sock
- ./kestra-wd:/tmp/kestra-wd:rw
ports:
- "8088:8080"
- "8089:8081"
depends_on:
postgres:
condition: service_started
restart: always