Temporal Server
Platform:
| Channel | Revision | Published | Runs on |
|---|---|---|---|
| 1.23/stable | 96 | Yesterday | |
| 1.23/stable | 60 | 30 Apr 2026 | |
| 1.23/edge | 96 | Yesterday | |
| 1.23/edge | 60 | 09 Dec 2025 | |
| 1.31/stable | 95 | Yesterday | |
| 1.31/edge | 95 | Yesterday | |
| 1.31/edge | 75 | 04 Aug 2026 | |
| 1.30/edge | 90 | 16 Oct 2026 | |
| 1.29/edge | 88 | 16 Oct 2026 | |
| 1.28/edge | 87 | 16 Oct 2026 | |
| 1.27/edge | 86 | 16 Oct 2026 | |
| 1.26/edge | 83 | 15 Oct 2026 | |
| 1.25/edge | 91 | 16 Oct 2026 | |
| 1.24/edge | 84 | 16 Oct 2026 |
juju deploy temporal-k8s --channel 1.23/stable
Deploy Temporal Server
This is part of the Charmed Temporal Tutorial. Please refer to this page for more information and the overview of the content.
The Temporal server is a group of four independently scalable services (frontend, history, matching and worker). It is responsible for state management and task synchronization among other functionalities.
Requirements
- You have completed Environment Setup.
Deploy
To deploy Charmed Temporal K8s, all you need to do is run the following command, which will fetch the charm from Charmhub and deploy it to your model:
juju deploy temporal-k8s --channel 1.31/stable --base ubuntu@26.04 --config num-history-shards=4
Base selection: Specifying --base ubuntu@26.04 (or --base ubuntu@24.04 if deploying on the 1.23/stable channel) ensures Juju deploys the intended Ubuntu base. If --base is omitted and default-base was not set on the model, Charmhub will default to the latest LTS version available for the charm on the requested channel.
About num-history-shards. The value must be a power of two (1, 2, 4, 8, 16, …) and is deployment-time-only, it cannot be changed after the charm is deployed without a fresh deployment and data migration. 4 is a reasonable default for development; production deployments typically pick a higher power of two based on expected workflow throughput.
For more information about history shards, see the official Temporal documentation.
Check status
Monitor the model while the application starts up:
juju status --watch 1s
Wait until the application stabilizes. At this point, it should be blocked, waiting for a database with the message database relation not ready
See next: Deploy PostgreSQL Database