You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Get started building Workflows with a [Go sample](https://github.com/temporalio/samples-go), [Java sample](https://github.com/temporalio/samples-java), or write your own using one of the [SDKs](https://docs.temporal.io/docs/sdks-introduction).
61
+
For the most up-to-date SDK references, see [https://docs.temporal.io/develop](https://docs.temporal.io/develop).
47
62
48
-
###Other configuration files
63
+
## Other configuration files
49
64
50
65
The default configuration file (`docker-compose.yml`) uses a PostgreSQL database, an Elasticsearch instance, and exposes the Temporal gRPC Frontend on port 7233.
51
66
The other configuration files in the repo spin up instances of the Temporal Server using different databases and dependencies.
52
-
For example you can run the Temporal Server with MySQL and Elastic Search with this command:
67
+
For example you can run the Temporal Server with MySQL and Elasticsearch with this command:
53
68
54
69
```bash
55
-
docker-compose -f docker-compose-mysql-es.yml up
70
+
dockercompose -f docker-compose-mysql-es.yml up
56
71
```
57
72
58
73
Here is a list of available files and the dependencies they use.
| docker-compose-dev.yml | Development server with local file storage (UI on port 8233) |
78
+
| docker-compose.yml | PostgreSQL and Elasticsearch (default) |
79
+
| docker-compose-tls.yml | PostgreSQL and Elasticsearch with TLS |
80
+
| docker-compose-postgres.yml | PostgreSQL |
81
+
| docker-compose-cass-es.yml | Cassandra and Elasticsearch |
82
+
| docker-compose-mysql.yml | MySQL |
83
+
| docker-compose-mysql-es.yml | MySQL and Elasticsearch |
84
+
| docker-compose-postgres-opensearch.yml | PostgreSQL and OpenSearch |
85
+
| docker-compose-multirole.yaml | PostgreSQL and Elasticsearch with multi-role Server containers |
70
86
71
-
###Using multi-role configuration
87
+
## Using multi-role configuration
72
88
73
-
First install the loki plugin (this is one time operation)
89
+
The `docker-compose-multirole.yaml` configuration runs each Temporal service separately and includes Prometheus and Grafana with [Server and SDK dashboards](https://github.com/temporalio/dashboards).
90
+
91
+
First install the Loki plugin (this is a one-time operation)
`docker-compose.yml` includes the Temporal Web UI.
93
-
94
-
If you run command:
95
-
96
-
```bash
97
-
docker-compose up
98
-
```
99
-
100
-
You access the Temporal Web UI at http://localhost:8080.
101
-
102
-
### Enabling metrics (with Grafana and Prometheus)
103
-
104
-
We maintain two example docker-compose setups with server metrics enabled, and Prometheus and Grafana with [our Server and SDK dashboards](https://github.com/temporalio/dashboards):
Next, in the `docker-compose.yml` file, replace the `TEMPORAL_VERSION` value in the `.env` file with **<YOUR_TAG>**.
127
-
128
-
Then run the `docker-compose up` command:
129
-
130
-
```bash
131
-
docker-compose up
132
-
```
133
-
134
-
## Using Temporal docker images in production
135
-
136
-
These docker-compose setups use the `temporalio/server` image with a separate initialization step to set up database schemas. The `temporal-admin-tools` service runs once to create and initialize the database schema, then the `temporal` service starts using `temporalio/server`.
137
-
138
-
In a typical production setting, dependencies such as `cassandra` or `elasticsearch` are managed/started independently of the Temporal server, and schemas are set up as part of your deployment process rather than at startup.
139
-
140
-
To use the `temporalio/server` container in a production setting, use the following command:
141
-
142
-
```plain
143
-
docker run -e CASSANDRA_SEEDS=10.x.x.x -- csv of Cassandra server ipaddrs
-e SKIP_SCHEMA_SETUP=true -- do not setup Cassandra schema during startup
147
-
-e NUM_HISTORY_SHARDS=1024 \ -- Number of history shards
148
-
-e SERVICES=history,matching \ -- Spin-up only the provided services
149
-
-e LOG_LEVEL=debug,info \ -- Logging level
150
-
-e DYNAMIC_CONFIG_FILE_PATH=config/foo.yaml -- Dynamic config file to be watched
151
-
temporalio/server:<tag>
152
-
```
112
+
-**Kubernetes**: Use the [Temporal Helm Charts](https://github.com/temporalio/helm-charts) repository
113
+
-**Schema setup**: Reference the [setup scripts](./scripts/) in this repository for database schema initialization examples
153
114
154
115
## Server Configuration Templates
155
116
156
-
The Temporal Server uses a base configuration template that defines the structure for persistence, visibility, and other settings.
117
+
The Temporal Server uses a base configuration template that defines the structure for persistence, visibility, and other settings. These templates use [Sprig](https://masterminds.github.io/sprig/) for templating, which provides functions for string manipulation, environment variable access, and more.
157
118
158
119
### Configuration template location by version
159
120
@@ -177,4 +138,3 @@ The docker-compose files in this repository work with both pre-v1.30 and v1.30+
177
138
3.**Schema management**: Setup scripts detect and use new tools when available, with fallback to legacy methods
178
139
179
140
For customizing server configuration beyond environment variables, refer to the appropriate template file for your server version.
0 commit comments