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"