Skip to main content

Self-hosted Temporal Service guide

Welcome to the self-hosted Temporal Service guide. This guide shows you how to self-host open source infrastructure software that orchestrates your durable applications.

Do you need a production Temporal Service?

If you're still developing and testing your application locally, you may not need a production Temporal Service. Use the Temporal CLI development server — a single binary with no external dependencies:

temporal server start-dev

This starts a complete Temporal Service with Web UI on your local machine. We recommend this for local development regardless of whether you plan to use Temporal Cloud or self-host in production. See the Temporal CLI server page for configuration options.

Plan and deploy your service

  • Deployment: Choose a deployment approach (Docker, Kubernetes, or manual) and set up a production-ready Temporal Service.
  • Embedded server: Run Temporal in-process as a Go library for local development and testing scenarios.
  • Defaults: Review platform limits and default settings that can affect Workflow and Activity behavior.
  • Production checklist: Validate readiness for scale, reliability, operations, and long-term maintainability.

Operate your self-hosted service

  • Namespaces: Create and manage Namespace isolation, retention, and related configuration.
  • Security: Configure TLS/mTLS, authentication, authorization, and related hardening controls.
  • Monitoring: Collect and visualize service and SDK metrics to troubleshoot and track health.
  • Visibility: Configure Visibility storage so you can list, filter, and search Workflow Executions.
  • Upgrading server: Perform safe, sequential server and schema upgrades.

Protect data and enable advanced features

  • Data encryption: Use Payload Codecs and Codec Server patterns to protect sensitive Workflow data.
  • Archival: Move closed Event Histories and Visibility records to blob storage for longer retention.
  • Multi-Cluster Replication: Replicate Workflow state across clusters for failover and disaster recovery.
  • Temporal Nexus: Enable Nexus in self-hosted environments to connect Temporal Applications across boundaries.