---
title: "Deploy Semaphore UI"
description: "Web UI for Ansible, Terraform and OpenTofu with schedules and access"
category: "Automation"
url: https://railway.com/deploy/semaphore-ui-1
---

# Deploy Semaphore UI

Web UI for Ansible, Terraform and OpenTofu with schedules and access

**[Deploy Semaphore UI on Railway](https://railway.com/template/semaphore-ui-1)**

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

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

## Template content

### Semaphore UI

- **Image:** semaphoreui/semaphore:latest
- **Start command:** `sh -c 'export SEMAPHORE_DB_DIALECT=sqlite SEMAPHORE_ADMIN=admin SEMAPHORE_CONFIG_PATH=/var/lib/semaphore/config; exec /usr/local/bin/server-wrapper'`
- **Public domain:** Yes

## Documentation

# Deploy and Host Semaphore UI on Railway

[Semaphore UI](https://github.com/semaphoreui/semaphore) is a web interface for running Ansible playbooks, Terraform/OpenTofu code and shell scripts. It adds projects, inventories, key storage, schedules, notifications and access control on top of those tools.

## About Hosting Semaphore UI

This template runs the official `semaphoreui/semaphore` image with the built-in SQLite database and a persistent volume at `/var/lib/semaphore`, which holds the database and the generated config, so everything survives redeploys. No separate database service is needed.

The admin user is `admin`. Its password is generated for you at deploy time: open the service's Variables tab in Railway and copy `SEMAPHORE_ADMIN_PASSWORD`, then sign in on first visit. Semaphore can run commands and store SSH keys, so keep that password private and change it under your user settings.

## Common Use Cases

- Run Ansible playbooks and Terraform plans from a browser instead of a terminal
- Schedule recurring maintenance tasks and get notified when they fail
- Give a team controlled access to deployment jobs

## Dependencies for Semaphore UI Hosting

- One service with a volume; nothing else

### Deployment Dependencies

- [Semaphore UI on GitHub](https://github.com/semaphoreui/semaphore)
- [Docker image](https://hub.docker.com/r/semaphoreui/semaphore)
- [Semaphore documentation](https://semaphoreui.com/docs)

## Why Deploy Semaphore UI on Railway?

Railway gives you a public HTTPS URL, a persistent volume and automatic restarts with no server to maintain.


## 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/semaphore-ui-1
