---
title: "Deploy flowctl"
description: "Self-service workflow platform with approvals, namespaces, and RBAC"
category: "Automation"
url: https://railway.com/deploy/flowctl
---

# Deploy flowctl

Self-service workflow platform with approvals, namespaces, and RBAC

**[Deploy flowctl on Railway](https://railway.com/template/flowctl)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/flowctl/manifest.json

- **Creator:** Sethumadhavan K's Projects
- **Category:** Automation

## Template content

### flowctl https://flowctl.net/images/full-logo.svg

- **Image:** ghcr.io/cvhariharan/flowctl:0.15.0
- **Start command:** `/bin/sh -c "mkdir -p /data/flows /data/logs && /app/flowctl install && exec /app/flowctl start"`
- **Health check:** /ping
- **Public domain:** Yes

### postgres https://devicons.railway.com/i/postgresql.svg

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

## Documentation

# Deploy and Host Flowctl on Railway

[Flowctl](https://github.com/cvhariharan/flowctl) is an open-source self-service workflow execution platform. Define flows, run them on demand or on a schedule, add approvals, and organize work with namespaces and RBAC — shipped as a single binary with a modern UI.

## About Hosting Flowctl

This template deploys Flowctl from the public image `ghcr.io/cvhariharan/flowctl:0.15.0` with managed PostgreSQL on Railway's private network. On start, the container runs migrations and admin bootstrap (`flowctl install`), then serves the UI on port 7000. Flow definitions and execution logs persist on a volume at `/data`. Generate a public domain on the Flowctl service so `ROOT_URL` resolves, then sign in with the admin username and password you set at deploy. Only those two credentials need configuration; database wiring, encryption keys, and runtime settings are prefilled.

## Common Use Cases

- Self-service internal automation (access requests, provisioning, ops runbooks)
- Scheduled reporting and maintenance workflows with approvals
- Team namespaces with RBAC for shared workflow catalogs

## Dependencies for Flowctl Hosting

- PostgreSQL — included for metadata, users, schedules, and execution history
- Persistent volume — `/data` for flow definitions and execution logs
- Public domain — required for the app URL and optional OIDC callbacks later

### Deployment Dependencies

- [Flowctl repository](https://github.com/cvhariharan/flowctl)
- [Public Docker image](https://github.com/cvhariharan/flowctl/pkgs/container/flowctl) — `ghcr.io/cvhariharan/flowctl:0.15.0`
- [Official docker-compose reference](https://github.com/cvhariharan/flowctl/blob/master/docker-compose.yaml)
- [Nodes and executors docs](https://github.com/cvhariharan/flowctl/blob/master/docs/docs/docs/general/nodes-and-executors.md)

### Implementation Details

Railway does not expose a Docker socket, so Flowctl's built-in **Docker executor** will not work here. Use the **script** or **flow** executor, or remote nodes over SSH.

At deploy time, set only:

- `FLOWCTL_APP__ADMIN_USERNAME` — initial superadmin (default `flowctl_admin`)
- `FLOWCTL_APP__ADMIN_PASSWORD` — initial superadmin password 

## Why Deploy Flowctl 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 Flowctl 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

- [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) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [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/flowctl
