| # The local cluster playground setup using Docker |
| # The composer uses the local built image: |
| # `bazelisk run //temporal:temporal-server` |
| # `bazelisk run @com_github_temporal_ui//:temporal-ui` |
| # |
| # The local instances can be started from the root dir: |
| # `docker-compose -f temporal/docker-compose.yml` |
| version: "3.5" |
| services: |
| cockroach: |
| cap_drop: |
| - ALL |
| command: |
| - start-single-node |
| - --insecure |
| container_name: temporal-cockroach |
| hostname: cockroach |
| image: cockroachdb/cockroach |
| networks: |
| - temporal-network |
| ports: |
| - 26257:26257 |
| restart: on-failure:5 |
| security_opt: |
| - no-new-privileges |
| tty: false |
| volumes: |
| - dbdata:/cockroach/cockroach-data |
| temporal: |
| container_name: temporal |
| depends_on: |
| - cockroach |
| environment: |
| - DB=postgresql |
| - DB_PORT=26257 |
| - POSTGRES_USER=root |
| - POSTGRES_PWD= |
| - POSTGRES_SEEDS=postgres |
| image: bazel/temporal:temporal-server |
| links: |
| - cockroach:postgres |
| networks: |
| - temporal-network |
| ports: |
| - 7233:7233 |
| entrypoint: /entrypoint.sh init-db start-server |
| temporal-init: |
| container_name: temporal-init |
| image: bazel/temporal:temporal-server |
| environment: |
| - TEMPORAL_ADDRESS=temporal:7233 |
| networks: |
| - temporal-network |
| entrypoint: /entrypoint.sh setup-server |
| temporal-ui: |
| container_name: temporal-ui |
| depends_on: |
| - temporal-init |
| environment: |
| - TEMPORAL_ADDRESS=temporal:7233 |
| - TEMPORAL_CORS_ORIGINS=http://localhost:3000 |
| image: bazel/temporal:temporal-ui |
| networks: |
| - temporal-network |
| ports: |
| - 8080:8080 |
| networks: |
| temporal-network: |
| driver: bridge |
| name: temporal-network |
| volumes: |
| # Run `docker volume create dbdata` to create a volume first |
| # so the data can be persisted. |
| dbdata: |
| external: true |