Deploy Kestra

Kestra 1.3 declarative workflow orchestration with 1,000+ plugins.

Deploy Kestra

Just deployed

/app/storage

/var/lib/postgresql/data

Deploy and Host Kestra on Railway

Kestra is an event-driven, declarative orchestration platform. You describe flows in YAML with tasks for scripts, SQL, HTTP, files, cloud services and more than 1,000 plugins, and Kestra schedules them, reacts to events and webhooks, retries failures and shows every execution with logs, outputs and a topology view in its UI.

About Hosting Kestra

This template deploys Kestra v1.3.40 standalone, the full image with all plugins, backed by a Railway Postgres database for the repository and queue. Internal storage for files and outputs lives on a Railway volume. Basic authentication protects the UI and API with a generated password. Railway has no Docker daemon, so script tasks such as Shell and Python run as processes inside the container by default. Worker threads and JVM heap are pinned. Plan for at least 1.5 GB of memory. Back up Postgres regularly. Flows are stored in Postgres, so they survive redeploys and can also be managed with the API or Terraform.

Common Use Cases

  • Scheduled data pipelines and ETL written as YAML flows
  • Event-driven automation triggered by webhooks, files or messages
  • Replacing cron jobs and scattered scripts with an observable orchestrator

Dependencies for Kestra Hosting

  • kestra/kestra:v1.3.40 (official image with plugins)
  • Railway Postgres (ghcr.io/railwayapp-templates/postgres-ssl:18) with a volume
  • A Railway volume at /app/storage for internal storage

Deployment Dependencies

Implementation Details

ServiceImageNetworkingStorage
kestrakestra/kestra:v1.3.40public domain on 8080; private IPv4/IPv6volume at /app/storage
PostgresRailway Postgres 18private onlyvolume
id: hello
namespace: company.team
tasks:
  - id: python
    type: io.kestra.plugin.scripts.python.Script
    script: print('hello from Railway')
VariableDefaultPurpose
KESTRA_ADMIN_EMAIL / KESTRA_ADMIN_PASSWORDadmin@example.com / generatedBasic auth login
KESTRA_CONFIGURATIONPostgres, storage, auth, task runnerComplete Kestra configuration
JAVA_OPTS-Xmx1gJVM heap

Notes:

  • Script tasks default to the Process task runner; the Docker runner does not work on Railway.
  • The start command is server standalone --worker-thread=8; raise the thread count for heavier workloads.

This is a community-maintained deployment package and does not imply affiliation with or endorsement by the Kestra project or its maintainers.

Why Deploy Kestra 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 Kestra 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.


Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

jakemerson
120
View Template
Evolution API with n8n
Automate WhatsApp workflows with Evolution API, n8n, and Postgres.

codestorm
95
View Template
Postgres Backup
Cron-based PostgreSQL backup to bucket storage

Railway Templates
870