version: "3" services: # This section is for the Temporal services postgresql: container_name: temporal-postgresql environment: POSTGRES_PASSWORD: temporal POSTGRES_USER: temporal image: postgres:${TEMPORAL_POSTGRESQL_VERSION} ports: - 5432:5432 volumes: - /var/lib/postgresql/data temporal: container_name: temporal depends_on: - postgresql environment: - DB=postgresql - DB_PORT=5432 - POSTGRES_USER=temporal - POSTGRES_PWD=temporal - POSTGRES_SEEDS=postgresql image: temporalio/auto-setup:${TEMPORAL_VERSION} ports: - 7233:7233 labels: kompose.volume.type: configMap temporal-admin-tools: container_name: temporal-admin-tools depends_on: - temporal environment: - TEMPORAL_ADDRESS=temporal:7233 - TEMPORAL_CLI_ADDRESS=temporal:7233 image: temporalio/admin-tools:${TEMPORAL_VERSION} stdin_open: true tty: true temporal-ui: container_name: temporal-ui depends_on: - temporal environment: - TEMPORAL_ADDRESS=temporal:7233 - TEMPORAL_CORS_ORIGINS=http://localhost:3000 image: temporalio/ui:${TEMPORAL_UI_VERSION} ports: - 8080:8080 # This section is for the Multiwoven services Backend and Frontend db: image: postgres:latest environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} volumes: - mw-pg-data:/var/lib/postgresql/data redis: image: redis:latest volumes: - mw-redis-data:/data multiwoven-server: build: context: ./server dockerfile: Dockerfile args: TARGETARCH: ${TARGETARCH:-amd64} ports: - "3000:3000" depends_on: - db - redis - temporal env_file: .env multiwoven-ui: build: context: ./ui dockerfile: Dockerfile ports: - "8000:8000" depends_on: - multiwoven-server # This section is for the Temporal Worker multiwoven-worker: build: context: ./server dockerfile: Dockerfile depends_on: - db - redis - temporal env_file: .env command: sh -c "./app/temporal/cli/register_namespace && ./app/temporal/cli/worker" # Volumes for the database and redis volumes: mw-pg-data: mw-redis-data: