Skip to main content

How to quickly install a Temporal Cluster for testing and local development

The following sections list various methods of deploying your Temporal Clusters locally, so that you can use and interact with the Temporal Client APIs and tctl commands to test and develop applications.

  • Temporalite: This distribution of Temporal runs as a single process with zero runtime dependencies.
  • Docker: Using Docker Compose simplifies developing your Temporal Application.
  • Gitpod: One-click deployments are available for Go and TypeScript.

For information on deploying a production environment, see the Temporal Cloud documentation.

Temporalite

Temporalite is a distribution of Temporal that runs as a single process with zero runtime dependencies. It supports persistence to disk and in-memory mode through SQLite.

Prerequisites

Temporalite requires Go 1.18 or later.

Build and start Temporalite

The following steps start and run a Temporal Cluster.

  1. Build from source.
    git clone https://github.com/temporalio/temporalite.git
    cd temporalite
    go build ./cmd/temporalite
  2. Start Temporalite by using the start command.
    temporalite start --namespace default
    Replace default with your Namespace Name.

Results: You should have Temporal Cluster running at http://127.0.0.1:7233 and the Temporal Web UI at http://127.0.0.1:8233.

Docker Compose

Use Docker Compose and Temporal Cluster Docker images to quickly install and run a Temporal Cluster locally while developing Temporal Applications.

Prerequisites

Install Docker and Docker Compose.

Clone the repo and run Docker Compose

The following steps start and run a Temporal Cluster using the default configuration.

  1. Clone the temporalio/docker-compose repository.
    git clone https://github.com/temporalio/docker-compose.git
  2. Change to the directory for the project.
    cd docker-compose
  3. From your project directory, start your application.
    docker-compose up

Results: You should have Temporal Cluster running at http://127.0.0.1:7233 and the Temporal Web UI at http://127.0.0.1:8080.

To try other configurations (different dependencies and databases), or to try a custom Docker image, follow the temporalio/docker-compose README.

Gitpod

You can run a Temporal Cluster and develop Temporal Applications in your browser using Gitpod.

One-click deployments are available for the temporalio/samples-go repo and the temporalio/samples-typescript repo.

A one-click deployment starts a Temporal Cluster using a Temporal Cluster Docker image, starts a Worker Process, and starts one of the application's sample Workflows.

A one-click deployment can take up to a full minute to get fully up and running. When it is running, you can customize the application samples.