Railway

Deploy openship

Self-hosted deployment dashboard with CI/CD, Postgres, and Redis

Deploy openship

Just deployed

/var/lib/postgresql

Just deployed

/data

Deploy and Host OpenShip on Railway

About Hosting OpenShip on Railway

OpenShip runs on Railway as a Docker-only, multi-service deployment with a public dashboard, private API, Postgres storage, and Redis-backed queues/cache. Railway provides managed HTTPS, private service networking, image-based deploys, and persistent volumes for stateful data.

Tech Stack

  • OpenShip API built with Bun, Hono, Drizzle, and Better Auth
  • OpenShip Dashboard built with Next.js
  • PostgreSQL 16 for persistent application data
  • Redis 7 for queues, cache, and rate limiting
  • Docker images deployed on Railway private networking

Why Deploy OpenShip on Railway

Railway is a good fit for OpenShip because it supports one-click templates with Docker images, built-in private networking between services, automatic HTTPS domains for the dashboard, and persistent volumes for Postgres and Redis. The dashboard is exposed publicly while the API remains private and is reached through the dashboard's same-origin proxy.

Common Use Cases

  • Self-hosting the OpenShip deployment dashboard
  • Managing projects, servers, domains, jobs, and deployments from a browser
  • Testing OpenShip before installing it on dedicated infrastructure
  • Running a small team control plane with Postgres-backed state and Redis jobs

Deployment Notes

The dashboard is the only public HTTP service and listens on port 3001. The API listens on port 4000 and should remain private; dashboard requests are proxied to it through /api/proxy/*. Set OPENSHIP_PUBLIC_URL to https://${{dashboard.RAILWAY_PUBLIC_DOMAIN}} so auth redirects and public callback URLs resolve correctly. Postgres uses PGDATA=/var/lib/postgresql/data/pgdata because Railway volumes include lost+found at the mount root. Redis uses redis-server --appendonly yes for persistence.

Users create their first account through the OpenShip registration/login flow after deployment. OAuth and SMTP variables are optional and can be added later for GitHub/Google login and email features.

Dependencies for OpenShip on Railway

OpenShip depends on Postgres for durable state and Redis for queues, cache, rate limiting, and background jobs. The dashboard depends on the private API service, and the API depends on both Postgres and Redis.

Deployment Dependencies

ServiceImagePortVolume
dashboardxiaosong233/openship-dashboard-railway:latest3001-
apixiaosong233/openship-api-railway:latest4000-
postgrespostgres:16-alpine5432/var/lib/postgresql
redisredis:7-alpine6379/data

Template Content

More templates in this category

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

jakemerson
115
View Template
Evolution API with n8n
[Jul'26] WhatsApp automation platform using Evolution API, n8n & PostgreSQL

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

Railway Templates
868