Railway

Deploy Reqcore

Open-source, self-hosted Applicant Tracking System (ATS)

Deploy Reqcore

Just deployed

/var/lib/postgresql/data

Bucket

Bucket

Just deployed

Deploy and Host Reqcore on Railway

Reqcore is an open-source, self-hosted Applicant Tracking System (ATS). It gives you full data ownership, transparent AI, and no per-seat pricing — with a modern stack (Nuxt 4, Vue 3, PostgreSQL 16) replacing legacy recruiting platforms.

About Hosting Reqcore

Deploying Reqcore on Railway gives you a fully managed ATS without maintaining your own servers. Railway provisions a PostgreSQL database, an S3-compatible storage bucket for candidate documents, and the Reqcore application container — all wired together automatically. The Dockerfile uses a multi-stage Node 20 Alpine build, and database migrations are applied automatically on each deploy using PostgreSQL advisory locks, making it safe for zero-downtime rolling updates. Environment variables like DATABASE_URL, S3 credentials, and authentication secrets are configured once and injected at runtime. Reqcore validates all environment variables at startup via Zod, so misconfigurations fail fast with clear error messages.

Common Use Cases

  • Replace expensive SaaS ATS platforms — Run an unlimited-seat ATS for your team without per-seat pricing from vendors like Greenhouse, Lever, or Ashby.
  • Self-host candidate data in your region — Keep all applicant data on infrastructure you control, meeting data residency and privacy requirements.
  • Power a public job board with SEO-friendly pages — Publish open positions with structured data and customizable application forms, all served from your own domain.

Dependencies for Reqcore Hosting

  • PostgreSQL 16 — Primary database for all application data (organizations, jobs, candidates, applications, auth).
  • S3-compatible storage — Object storage for candidate documents (resumes, cover letters). Uses Railway Storage Buckets in production or MinIO for local development.

Deployment Dependencies

Implementation Details

Railway configuration (railway.json):

{
  "deploy": {
    "preDeployCommand": "npm run db:migrate && npm run db:seed",
    "startCommand": "npm run start"
  }
}

Required environment variables on Railway:

DATABASE_URL         = ${{Postgres.DATABASE_URL}}
S3_ENDPOINT          = ${{Bucket.ENDPOINT}}
S3_ACCESS_KEY        = ${{Bucket.ACCESS_KEY_ID}}
S3_SECRET_KEY        = ${{Bucket.SECRET_ACCESS_KEY}}
S3_BUCKET            = ${{Bucket.BUCKET}}
S3_REGION            = ${{Bucket.REGION}}
S3_FORCE_PATH_STYLE  = false
BETTER_AUTH_SECRET    = 
BETTER_AUTH_URL       = https://${{RAILWAY_PUBLIC_DOMAIN}}

Why Deploy Reqcore 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 Reqcore 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
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
View Template
(v1) Simple Medusa Backend
Deploy an ecommerce backend and admin using Medusa

Shahed Nasser
View Template
peppermint
Docker-compose port for peppermint.sh

HamiltonAI