Deploy Semaphore UI

Semaphore UI 2.19 web UI for Ansible, Terraform, OpenTofu and scripts.

Deploy Semaphore UI

/var/lib/postgresql/data

Just deployed

Deploy and Host Semaphore UI on Railway

Semaphore UI is a modern web interface for running Ansible playbooks, Terraform and OpenTofu, PowerShell and shell scripts. Teams store inventories, keys and repositories in projects, launch tasks from templates, schedule them, review live output and history, and control access with roles, without giving everyone SSH access to production.

About Hosting Semaphore UI

This template deploys Semaphore UI v2.19.14 from the official image, which includes Ansible, with a Railway Postgres database. The admin account is created from environment variables, and access keys stored in projects are encrypted with a generated key. The configuration is regenerated from environment variables on every start, so the service needs no volume. Semaphore clones repositories from Git and runs tasks inside its own container, reaching your servers over SSH or cloud APIs. It fits the Hobby plan for small teams. Back up Postgres regularly. Tasks run inside the Semaphore container, so give it enough memory for large playbooks.

Common Use Cases

  • Running Ansible playbooks against servers from a shared web UI
  • Scheduled Terraform or OpenTofu plans and applies with history
  • Giving a team controlled, audited access to operational scripts

Dependencies for Semaphore UI Hosting

  • semaphoreui/semaphore:v2.19.14 (official image)
  • Railway Postgres (ghcr.io/railwayapp-templates/postgres-ssl:18) with a volume

Deployment Dependencies

Implementation Details

ServiceImageNetworkingStorage
semaphoresemaphoreui/semaphore:v2.19.14public domain on 3000none (state in Postgres)
PostgresRailway Postgres 18private onlyvolume
VariableDefaultPurpose
SEMAPHORE_ADMIN / SEMAPHORE_ADMIN_PASSWORDadmin / generatedAdmin login
SEMAPHORE_ACCESS_KEY_ENCRYPTIONgeneratedEncrypts stored keys; never change it
SEMAPHORE_WEB_ROOThttps://Public URL
SEMAPHORE_DB_*Postgres referencesDatabase

Notes:

  • Store playbooks in a Git repository; files placed in the container are lost on redeploy.
  • SEMAPHORE_ACCESS_KEY_ENCRYPTION must be base64 for 32 bytes; the template generates 43 characters plus =.

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

Why Deploy Semaphore UI 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 Semaphore UI 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