Because I need to add some features to temporal, I cannot use docker img to build a production environment. I downloaded the server code from Releases · temporalio/temporal · GitHub. When I started the temporal server, I found that the database and schema were not automatically created. When I used temporal-sql-tool to build the database and schema, I found that there was no database. Configuration file.
I would like to ask you how to deal with it here?
I feel very confused when dealing with it here, why not automatically initialize the database and the schema used according to yaml when the server is initialized.
You can use auto-setup docker image: Docker Hub
Following docker-compose files should work:
services: cassandra: image: cassandra:3.11.9 logging: driver: none ports: - "9042:9042" temporal: image: temporaliotest/auto-setup ports: - "7233:7233" - "7234:7234" - "7235:7235" - "7239:7239" - "6933:6933" - "6934:6934" - "6935:6935" - "6939:6939" environment: - "CASSANDRA_SEEDS=cassandra" - "DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development.yaml" depends_on: - cassandra
version: "3.5" services: cassandra: container_name: temporal-cassandra image: cassandra:3.11.9 networks: - temporal-network ports: - 9042:9042 temporal: container_name: temporal depends_on: - cassandra environment: - CASSANDRA_SEEDS=cassandra - DYNAMIC_CONFIG_FILE_PATH=config/dynamicconfig/development.yaml image: temporalio/auto-setup:1.13.1 networks: - temporal-network ports: - 7233:7233 volumes: - ./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.13.1 networks: - temporal-network stdin_open: true tty: true temporal-web: container_name: temporal-web depends_on: - temporal environment: - TEMPORAL_GRPC_ENDPOINT=temporal:7233 - TEMPORAL_PERMIT_WRITE_API=true image: temporalio/web:1.13.0 networks: - temporal-network ports: - 8088:8088 networks: temporal-network: driver: bridge name: temporal-network
This brings up temporal-web too that you can after start access at localhost:8088
You can specify image version too, for example:
docker compose -f myDocker.yaml up
Temporal provides a number of docker compose files here.
thanks tihomir for your help.I saw that the docker-pose deployment is a development environment, but I want to deploy a production environment. I use the docker mirror auto-setup, but when I start the mirror, it shows that mysql cannot be connected. Have you ever encountered this situation? Is it because I am missing any environment variables?
Thank you very much brother. I followed what you said to use docker-compose to start docker successfully
I would like to ask, I want to deploy multiple servers, but I want them to share a mysql. Where should the host address be configured
Configuring two independent clusters on top of a single db is not supported.
They can however share one physical db server (host), each needing own keyspace/db.
See sample here