122 lines
3.9 KiB
YAML
122 lines
3.9 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:15.6
|
|
command: postgres -c "max_connections=1000"
|
|
restart: always
|
|
hostname: postgres
|
|
environment:
|
|
POSTGRES_USER: ${HATCHET_POSTGRES_USER:-hatchet}
|
|
POSTGRES_PASSWORD: ${HATCHET_POSTGRES_PASSWORD:-hatchet}
|
|
POSTGRES_DB: ${HATCHET_POSTGRES_DB:-hatchet}
|
|
expose:
|
|
- "5432"
|
|
volumes:
|
|
- hatchet_postgres_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -d ${HATCHET_POSTGRES_DB:-hatchet} -U ${HATCHET_POSTGRES_USER:-hatchet}"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 10s
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3-management
|
|
hostname: rabbitmq
|
|
expose:
|
|
- "5672"
|
|
- "15672"
|
|
environment:
|
|
RABBITMQ_DEFAULT_USER: ${HATCHET_RABBITMQ_USER:-user}
|
|
RABBITMQ_DEFAULT_PASS: ${HATCHET_RABBITMQ_PASSWORD:-password}
|
|
volumes:
|
|
- hatchet_rabbitmq_data:/var/lib/rabbitmq
|
|
- hatchet_rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
|
|
healthcheck:
|
|
test: ["CMD", "rabbitmqctl", "status"]
|
|
interval: 10s
|
|
timeout: 10s
|
|
retries: 5
|
|
|
|
migration:
|
|
image: ghcr.io/hatchet-dev/hatchet/hatchet-migrate:latest
|
|
command: /hatchet/hatchet-migrate
|
|
environment:
|
|
DATABASE_URL: ${HATCHET_DATABASE_URL:-postgres://hatchet:hatchet@postgres:5432/hatchet}
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
setup-config:
|
|
image: ghcr.io/hatchet-dev/hatchet/hatchet-admin:latest
|
|
command: /hatchet/hatchet-admin quickstart --skip certs --generated-config-dir /hatchet/config --overwrite=false
|
|
environment:
|
|
DATABASE_URL: ${HATCHET_DATABASE_URL:-postgres://hatchet:hatchet@postgres:5432/hatchet}
|
|
SERVER_MSGQUEUE_RABBITMQ_URL: ${HATCHET_RABBITMQ_URL:-amqp://user:password@rabbitmq:5672/}
|
|
SERVER_AUTH_COOKIE_DOMAIN: ${HATCHET_SERVER_AUTH_COOKIE_DOMAIN:-hatchet.local}
|
|
SERVER_AUTH_COOKIE_INSECURE: ${HATCHET_SERVER_AUTH_COOKIE_INSECURE:-t}
|
|
SERVER_GRPC_BIND_ADDRESS: 0.0.0.0
|
|
SERVER_GRPC_INSECURE: ${HATCHET_SERVER_GRPC_INSECURE:-t}
|
|
SERVER_GRPC_BROADCAST_ADDRESS: ${HATCHET_SERVER_GRPC_BROADCAST_ADDRESS:-hatchet-engine:7070}
|
|
SERVER_DEFAULT_ENGINE_VERSION: V1
|
|
SERVER_INTERNAL_CLIENT_INTERNAL_GRPC_BROADCAST_ADDRESS: hatchet-engine:7070
|
|
volumes:
|
|
- hatchet_certs:/hatchet/certs
|
|
- hatchet_config:/hatchet/config
|
|
depends_on:
|
|
migration:
|
|
condition: service_completed_successfully
|
|
rabbitmq:
|
|
condition: service_healthy
|
|
postgres:
|
|
condition: service_healthy
|
|
|
|
hatchet-engine:
|
|
image: ghcr.io/hatchet-dev/hatchet/hatchet-engine:latest
|
|
command: /hatchet/hatchet-engine --config /hatchet/config
|
|
restart: on-failure
|
|
depends_on:
|
|
setup-config:
|
|
condition: service_completed_successfully
|
|
migration:
|
|
condition: service_completed_successfully
|
|
expose:
|
|
- "7070"
|
|
environment:
|
|
DATABASE_URL: ${HATCHET_DATABASE_URL:-postgres://hatchet:hatchet@postgres:5432/hatchet}
|
|
SERVER_GRPC_BIND_ADDRESS: 0.0.0.0
|
|
SERVER_GRPC_INSECURE: ${HATCHET_SERVER_GRPC_INSECURE:-t}
|
|
volumes:
|
|
- hatchet_certs:/hatchet/certs
|
|
- hatchet_config:/hatchet/config
|
|
networks:
|
|
- default
|
|
- dokploy-network
|
|
|
|
hatchet-dashboard:
|
|
image: ghcr.io/hatchet-dev/hatchet/hatchet-dashboard:latest
|
|
command: sh ./entrypoint.sh --config /hatchet/config
|
|
expose:
|
|
- "80"
|
|
restart: on-failure
|
|
depends_on:
|
|
setup-config:
|
|
condition: service_completed_successfully
|
|
migration:
|
|
condition: service_completed_successfully
|
|
environment:
|
|
DATABASE_URL: ${HATCHET_DATABASE_URL:-postgres://hatchet:hatchet@postgres:5432/hatchet}
|
|
volumes:
|
|
- hatchet_certs:/hatchet/certs
|
|
- hatchet_config:/hatchet/config
|
|
|
|
networks:
|
|
dokploy-network:
|
|
external: true
|
|
|
|
volumes:
|
|
hatchet_postgres_data:
|
|
hatchet_rabbitmq_data:
|
|
hatchet_rabbitmq.conf:
|
|
hatchet_config:
|
|
hatchet_certs:
|