Temporal Server

Platform:

Channel Revision Published Runs on
1.23/stable 96 Yesterday
Ubuntu 24.04 Ubuntu 22.04
1.23/stable 60 30 Apr 2026
Ubuntu 24.04 Ubuntu 22.04
1.23/edge 96 Yesterday
Ubuntu 24.04 Ubuntu 22.04
1.23/edge 60 09 Dec 2025
Ubuntu 24.04 Ubuntu 22.04
1.31/stable 95 Yesterday
Ubuntu 26.04
1.31/edge 95 Yesterday
Ubuntu 26.04 Ubuntu 24.04
1.31/edge 75 04 Aug 2026
Ubuntu 26.04 Ubuntu 24.04
1.30/edge 90 16 Oct 2026
Ubuntu 24.04
1.29/edge 88 16 Oct 2026
Ubuntu 24.04
1.28/edge 87 16 Oct 2026
Ubuntu 24.04
1.27/edge 86 16 Oct 2026
Ubuntu 24.04
1.26/edge 83 15 Oct 2026
Ubuntu 24.04
1.25/edge 91 16 Oct 2026
Ubuntu 24.04
1.24/edge 84 16 Oct 2026
Ubuntu 24.04
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

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