---
title: "Deploy Temporal.io"
description: "Temporal is an open-source durable execution platform for scalable apps"
category: "Queues"
url: https://railway.com/deploy/temporalio
---

# Deploy Temporal.io

Temporal is an open-source durable execution platform for scalable apps

**[Deploy Temporal.io on Railway](https://railway.com/template/temporalio)**

- **Creator:** Protemplate
- **Category:** Queues
- **Total deploys:** 19

## Template content

### Temporal UI https://somi-public-assets.s3.ap-southeast-1.amazonaws.com/railway/temporal-logo.svg

- **Image:** temporalio/ui:2.45.3
- **Public domain:** Yes

### Temporal Admin Tools https://somi-public-assets.s3.ap-southeast-1.amazonaws.com/railway/temporal-logo.svg

- **Image:** temporalio/admin-tools:1.29

### Postgres https://somi-public-assets.s3.ap-southeast-1.amazonaws.com/railway/elephant.png

- **Image:** ghcr.io/railwayapp-templates/postgres-ssl:17

### Temporal Auto Setup https://somi-public-assets.s3.ap-southeast-1.amazonaws.com/railway/temporal-logo.svg

- **Image:** temporalio/auto-setup:1.29.3

### Elasticsearch https://somi-public-assets.s3.ap-southeast-1.amazonaws.com/railway/elasticsearch.svg

- **Source:** protemplate/elasticsearch-railway

## Documentation

# Deploy and Host Temporal.io on Railway

<img alt="Temporal Logo" src="https://zyugzloemocjcxmspsso.supabase.co/storage/v1/object/public/static-assets/temporal-logo.svg" width="200">

Temporal is an open-source durable execution platform for building reliable distributed applications. It guarantees that workflows run to completion even through infrastructure failures, network outages, and server restarts. Developers write workflows as regular code in Go, Java, TypeScript, Python, or .NET, and Temporal handles retries, state persistence, and fault recovery automatically.
![Temporal workflows](https://zyugzloemocjcxmspsso.supabase.co/storage/v1/object/public/static-assets/temporal-workflow.png)
## About Hosting Temporal.io

Hosting Temporal involves deploying five interconnected services: the Temporal Server itself (via the auto-setup image, which handles database schema creation and default namespace initialization), PostgreSQL for workflow state and visibility data, Elasticsearch for advanced workflow search and filtering, a web UI for monitoring and inspecting workflow executions, and Admin Tools for cluster management and debugging. All services communicate over private networking. The auto-setup image eliminates manual schema migration and namespace configuration, making the deployment zero-config out of the box.

## Common Use Cases

- Orchestrate long-running business workflows (order fulfillment, payment processing, user onboarding) that must complete reliably across service boundaries and infrastructure failures
- Build scheduled and recurring job systems that survive server restarts without losing state, replacing fragile cron jobs and message queue setups
- Coordinate microservice communication with built-in retry logic, timeouts, and compensation (saga) patterns instead of hand-rolling distributed transaction handling

## Dependencies for Temporal.io Hosting

- PostgreSQL (workflow execution state, task queues, and visibility data)
- Elasticsearch (advanced visibility layer for searching and filtering workflow executions by custom attributes)
- Temporal Server (durable workflow orchestration engine via auto-setup image)

### Deployment Dependencies

- [Temporal Documentation](https://docs.temporal.io)
- [Temporal GitHub Repository](https://github.com/temporalio/temporal)
- [Temporal TypeScript SDK](https://docs.temporal.io/develop/typescript)
- [Temporal Go SDK](https://docs.temporal.io/develop/go)

### Implementation Details

The template pre-configures all service connections through Railway's reference variables. `POSTGRES_SEEDS`, `ES_SEEDS`, and `TEMPORAL_ADDRESS` are wired automatically between services. The `ELASTIC_PASSWORD` and `POSTGRES_PASSWORD` are generated at deploy time. The auto-setup image creates the required database schemas and a `default` namespace on first boot, so no manual initialization is needed.

To connect your application workers to this Temporal cluster, set `TEMPORAL_ADDRESS` to `${{Temporal Auto Setup.RAILWAY_PRIVATE_DOMAIN}}:7233` on your worker service within the same Railway project.

## Why Deploy Temporal.io on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Temporal.io on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


## Similar templates

- [smoothmq](https://railway.com/deploy/AJv-64) — A drop-in replacement for AWS SQS
- [Kafka UI](https://railway.com/deploy/kafka-ui) — Kafbat UI — Open-source web UI to monitor and manage Apache Kafka clusters
- [Hatchet Lite](https://railway.com/deploy/hatchet-lite) — Hatchet Lite with postgres

Open this page in a browser: https://railway.com/deploy/temporalio
