---
title: "Deploy Restate durable workflows"
description: "Durable workflows and virtual objects with authenticated ingress and state."
category: "Automation"
url: https://railway.com/deploy/restate-durable-workflows
---

# Deploy Restate durable workflows

Durable workflows and virtual objects with authenticated ingress and state.

**[Deploy Restate durable workflows on Railway](https://railway.com/template/restate-durable-workflows)**

- **Creator:** Anton Orel's Projects
- **Category:** Automation
- **Total deploys:** 1

## Template content

### Restate

- **Image:** ghcr.io/restatedev/restate:1.7.2@sha256:d39111bd494dd7cf4e107c913c89e38572f454292805ad0b9a0f0485a91e4b24
- **Start command:** `/usr/local/bin/restate-server --auto-provision true`
- **Health check:** /health

### Restate Gateway

- **Image:** caddy:2.11.4-alpine@sha256:5f5c8640aae01df9654968d946d8f1a56c497f1dd5c5cda4cf95ab7c14d58648
- **Start command:** `/bin/sh -ec 'password_hash="$(caddy hash-password --plaintext "$GATEWAY_PASSWORD")"; printf "%s\n" "$GATEWAY_CONFIG" | sed -e "s|__USERNAME__|$GATEWAY_USERNAME|g" -e "s|__PASSWORD_HASH__|$password_hash|g" -e "s|__ADMIN_UPSTREAM__|$ADMIN_UPSTREAM|g" -e "s|__INGRESS_UPSTREAM__|$INGRESS_UPSTREAM|g" >/tmp/Caddyfile; exec caddy run --config /tmp/Caddyfile --adapter caddyfile'`
- **Health check:** /healthz
- **Public domain:** Yes

## Documentation

# Deploy and Host Restate durable workflows on Railway

Restate is a durable execution server for resilient services, virtual objects, workflows, timers, and reliable messaging.

## About Hosting Restate durable workflows

This template runs Restate 1.7.2 as a persistent single node with a fixed identity and a private 5 GB data volume. An authenticated Caddy gateway exposes the operator UI and an `/invoke/` route while Restate's admin, ingress, and fabric ports remain private.

## Why Deploy Restate durable workflows on Railway

Railway supplies HTTPS, private networking, generated credentials, health-gated deployment, and a persistent volume. The template adds the proxy boundary and stable node configuration that Restate's self-hosting guidance requires.

## Common Use Cases

- Run durable workflows and background tasks for an internal application.
- Add reliable execution, timers, and stateful virtual objects to private services.
- Evaluate Restate with persistent state before designing a replicated cluster.

## Dependencies for Restate durable workflows Hosting

The deployment uses Restate Server and Caddy.

### Deployment Dependencies

- One public Railway domain for the authenticated gateway
- One 5 GB persistent Restate data volume
- One generated gateway credential


## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — [Jul'26] WhatsApp automation platform using Evolution API, n8n & PostgreSQL
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/restate-durable-workflows
