72 lines
2.0 KiB
YAML
72 lines
2.0 KiB
YAML
networks:
|
|
internal:
|
|
traefik_public:
|
|
external: true
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres
|
|
volumes:
|
|
- /srv/kestra/db:/var/lib/postgresql/data
|
|
environment:
|
|
POSTGRES_DB: kestra
|
|
POSTGRES_USER: kestra
|
|
POSTGRES_PASSWORD: k3str4
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 10
|
|
networks:
|
|
- internal
|
|
|
|
kestra:
|
|
image: kestra/kestra:latest-full
|
|
entrypoint: /bin/bash
|
|
# Note that this is meant for development only. Refer to the documentation for production deployments of Kestra which runs without a root user.
|
|
user: "root"
|
|
command:
|
|
- -c
|
|
- /app/kestra server standalone --worker-thread=128
|
|
volumes:
|
|
- /srv/kestra/data:/app/storage
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /tmp/kestra-wd:/tmp/kestra-wd
|
|
environment:
|
|
KESTRA_CONFIGURATION: |
|
|
datasources:
|
|
postgres:
|
|
url: jdbc:postgresql://postgres:5432/kestra
|
|
driverClassName: org.postgresql.Driver
|
|
username: kestra
|
|
password: k3str4
|
|
kestra:
|
|
server:
|
|
basic-auth:
|
|
enabled: false
|
|
username: admin
|
|
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/
|
|
networks:
|
|
- traefik_public
|
|
- internal
|
|
deploy:
|
|
labels:
|
|
- "traefik.docker.network=traefik_public"
|
|
- "traefik.http.routers.kestra.rule=Host(`kestra.genius.ceo`)"
|
|
- "traefik.http.routers.kestra.entrypoints=https"
|
|
- "traefik.http.routers.kestra.tls=true"
|
|
- "traefik.http.routers.kestra.tls.certresolver=main"
|
|
- "traefik.http.services.kestra.loadbalancer.server.port=8080"
|