Temporal Server
Platform:
| Channel | Revision | Published | Runs on |
|---|---|---|---|
| latest/stable | 43 | 28 Jan 2025 | |
| latest/edge | 52 | 08 Aug 2025 | |
| 1.23/stable | 60 | 30 Apr 2026 | |
| 1.23/stable | 68 | 30 Apr 2026 | |
| 1.23/edge | 68 | 29 Apr 2026 | |
| 1.23/edge | 60 | 09 Dec 2025 |
juju deploy temporal-k8s --channel 1.23/stable
Deploy Temporal Web UI
This is part of the Charmed Temporal Tutorial. Please refer to this page for more information and the overview of the content.
The Temporal Web UI is a user interface used to interact with and monitor Temporal workflows and activities.
Deploy and integrate
- Deploy the Temporal User Interface (UI):
juju deploy temporal-ui-k8s --channel 1.23/stable --base ubuntu@24.04
- Wait for the application to require its mandatory relations. The unit will report
blockedwith a message such as:
Unit Workload Agent Address Ports Message
temporal-ui-k8s/0* blocked idle 10.1.0.111 temporal-host-info relation not established
- Integrate with Temporal Server. The UI charm in
1.23/stablerequires two relations to reachactive:
juju integrate temporal-k8s:ui temporal-ui-k8s:ui
juju integrate temporal-k8s:temporal-host-info temporal-ui-k8s:temporal-host-info
The ui relation provides the routing and rendering bridge to the Temporal frontend. The temporal-host-info relation provides the frontend’s gRPC host and port. It is mandatory in 1.23/stable and the UI will remain blocked until it is integrated.
- Wait for both charms to be active and idle. After integration,
juju status --relationsshould list both relations:
Relation provider Requirer Interface
temporal-k8s:temporal-host-info temporal-ui-k8s:temporal-host-info temporal-host-info
temporal-k8s:ui temporal-ui-k8s:ui temporal
Access the UI on a web browser
Depending on the local configuration, the Temporal Web UI can be accessed using:
- The unit IP directly:
TEMPORAL_UI_IP=$(juju show-unit temporal-ui-k8s/0 | yq '.temporal-ui-k8s/0.address')
# In the browser
http://{TEMPORAL_UI_IP}:8080
- The ingress IP or DNS name: This requires extra configuration, see Configure Ingress with Nginx Ingress Integrator for more details.

See next: Deploy Temporal Worker