Skip to content

Setup Temporal server

Nicolas Steenlant edited this page Jul 14, 2022 · 6 revisions

Example docker-compose.yml

services:
  temporal:
    container_name: temporal
    environment:
      - DB=postgresql
      - DB_PORT=5432
      - DBNAME=temporal_dev
      - VISIBILITY_DBNAME=temporal_visibility_dev
      - POSTGRES_USER=nsteenla
      - POSTGRES_PWD=
      - POSTGRES_SEEDS=host.docker.internal
      - ENABLE_ES=true
      - ES_SEEDS=host.docker.internal
      - ES_VERSION=v6
      # index name needs to start with temporal_visibility_v1
      - ES_VIS_INDEX=temporal_visibility_v1_dev
      - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development.yml
    image: temporalio/server:1.16.2
    ports:
      - 7233:7233
    volumes:
      - /Users/nsteenla/data/temporal/dynamicconfig:/etc/temporal/config/dynamicconfig

  temporal-admin-tools:
    container_name: temporal-admin-tools
    depends_on:
      - temporal
    environment:
      - TEMPORAL_CLI_ADDRESS=temporal:7233
    image: temporalio/admin-tools:1.16.2
    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:2.2.1
    ports:
      - 8080:8080

Initial setup example

docker exec temporal-admin-tools temporal-sql-tool --ep host.docker.internal -p 5432 -u nsteenla -pw '' --pl postgres create --db temporal_dev

docker exec temporal-admin-tools temporal-sql-tool --ep host.docker.internal -p 5432 -u nsteenla -pw '' --pl postgres --db temporal_dev setup-schema -v 0.0

docker exec temporal-admin-tools temporal-sql-tool --ep host.docker.internal -p 5432 -u nsteenla -pw '' --pl postgres --db temporal_dev update-schema -d ./schema/postgresql/v96/temporal/versioned

docker exec temporal-admin-tools temporal-sql-tool --ep host.docker.internal -p 5432 -u nsteenla -pw '' --pl postgres create --db temporal_visibility_dev

docker exec temporal-admin-tools temporal-sql-tool --ep host.docker.internal -p 5432 -u nsteenla -pw '' --pl postgres --db temporal_visibility_dev setup-schema -v 0.0

docker exec temporal-admin-tools temporal-sql-tool --ep host.docker.internal -p 5432 -u nsteenla -pw '' --pl postgres --db temporal_visibility_dev update-schema -d ./schema/postgresql/v96/visibility/versioned

docker exec temporal-admin-tools curl --fail -X PUT http://host.docker.internal:9200/_template/temporal_visibility_v1_template -H "Content-Type: application/json" --data-binary "@/etc/temporal/schema/elasticsearch/visibility/versioned/v1/index_template_v6.json" --write-out "\n"

docker exec temporal-admin-tools tctl --ns default namespace register --rd 1 --desc "Default namespace for Temporal Server."

Useful links

Clone this wiki locally