diff --git a/docker-compose-temporal.yml b/docker-compose-temporal.yml new file mode 100644 index 0000000..4e952f2 --- /dev/null +++ b/docker-compose-temporal.yml @@ -0,0 +1,64 @@ +services: + temporal-postgresql: + image: postgres:15 + container_name: temporal-db + environment: + POSTGRES_USER: temporal + POSTGRES_PASSWORD: temporal + POSTGRES_DB: temporal + ports: + - "5435:5432" + volumes: + - temporal-postgres-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD", "pg_isready", "-U", "temporal"] + interval: 5s + timeout: 5s + retries: 5 + restart: unless-stopped + + temporal: + image: temporalio/auto-setup:latest + container_name: temporal + depends_on: + temporal-postgresql: + condition: service_healthy + environment: + - DB=postgres12 + - DB_PORT=5432 + - POSTGRES_USER=temporal + - POSTGRES_PWD=temporal + - POSTGRES_SEEDS=temporal-postgresql + - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development-sql.yaml + ports: + - "7233:7233" + volumes: + - ./temporal-dynamicconfig:/etc/temporal/config/dynamicconfig + restart: unless-stopped + + temporal-ui: + image: temporalio/ui:latest + container_name: temporal-ui + depends_on: + - temporal + environment: + - TEMPORAL_ADDRESS=temporal:7233 + - TEMPORAL_CORS_ORIGINS=http://localhost:3400 + ports: + - "3400:8080" + restart: unless-stopped + + temporal-admin-tools: + image: temporalio/admin-tools:latest + container_name: temporal-admin-tools + depends_on: + - temporal + environment: + - TEMPORAL_ADDRESS=temporal:7233 + - TEMPORAL_CLI_ADDRESS=temporal:7233 + stdin_open: true + tty: true + restart: unless-stopped + +volumes: + temporal-postgres-data: diff --git a/temporal-dynamicconfig/development-sql.yaml b/temporal-dynamicconfig/development-sql.yaml new file mode 100644 index 0000000..88c0ec6 --- /dev/null +++ b/temporal-dynamicconfig/development-sql.yaml @@ -0,0 +1,20 @@ +# Temporal dynamic configuration for development +system.forceSearchAttributesCacheRefreshOnRead: + - value: true + constraints: {} + +frontend.enableUpdateWorkflowExecution: + - value: true + constraints: {} + +history.enableParentClosePolicyWorker: + - value: true + constraints: {} + +system.enableActivityEagerExecution: + - value: true + constraints: {} + +frontend.enableExecuteMultiOperation: + - value: true + constraints: {}