---
title: "Deploy Railway Job Engine"
description: "Background jobs with BullMQ, Redis, Bull Board admin UI"
category: "Queues"
url: https://railway.com/deploy/railway-job-engine
---

# Deploy Railway Job Engine

Background jobs with BullMQ, Redis, Bull Board admin UI

**[Deploy Railway Job Engine on Railway](https://railway.com/template/railway-job-engine)**

- **Creator:** thewireplan
- **Category:** Queues

## Template content

### railway-job-engine

- **Source:** furelid/railway-job-engine

### Postgres https://devicons.railway.app/i/postgresql.svg

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

### Redis https://cdn.sanity.io/images/sy1jschh/production/0ce0bfdcfbdbf69662b1116671f97c2dd788b655-157x157.svg

- **Image:** redis:8.2.1
- **Start command:** `/bin/sh -c "rm -rf $RAILWAY_VOLUME_MOUNT_PATH/lost+found/ && exec docker-entrypoint.sh redis-server --requirepass $REDIS_PASSWORD --save 60 1 --dir $RAILWAY_VOLUME_MOUNT_PATH"`

## Documentation

# Deploy and Host Railway Job Engine on Railway

Railway Job Engine is a production-ready background job processing stack built on BullMQ and Bun. It provides reliable async job queues for email, webhooks, and scheduled tasks — with a full admin UI and Postgres audit logging included out of the box.

## About Hosting Railway Job Engine

Hosting a job processing system requires Redis for the queue backend, a persistent worker process, and a database for job history. Railway Job Engine runs all three as a coordinated multi-service deployment: a Bun server handles job submission and serves the Bull Board admin UI, BullMQ workers process jobs with configurable retries and backoff, and Postgres stores an audit log of every completed or failed job. Railway manages uptime, restarts on failure, and private networking between services automatically.

## Common Use Cases

- Sending transactional emails asynchronously (welcome emails, password resets, notifications)
- Dispatching webhooks to third-party services with retry logic and failure tracking
- Running scheduled background tasks (data cleanup, report generation, cache warming)

## Dependencies for Railway Job Engine Hosting

- Redis — BullMQ queue storage and job state
- Postgres — job audit log persistence

### Deployment Dependencies

- [BullMQ](https://docs.bullmq.io) — Redis-based job queue
- [Bull Board](https://github.com/felixmosh/bull-board) — admin UI for queue monitoring
- [Hono](https://hono.dev) — web framework for Bun

### Implementation Details

```bash
# Submit a job
curl -X POST https://your-app.railway.app/jobs/email \
  -H "Content-Type: application/json" \
  -d '{"to": "user@example.com", "subject": "Hello", "body": "World"}'

# Check queue stats
curl https://your-app.railway.app/queues
```

### Why Deploy Railway Job Engine 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 Railway Job Engine 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

- [smoothmq](https://railway.com/deploy/AJv-64) — A drop-in replacement for AWS SQS
- [Kafka UI](https://railway.com/deploy/kafka-ui) — Kafbat UI — Open-source web UI to monitor and manage Apache Kafka clusters
- [Hatchet Lite](https://railway.com/deploy/hatchet-lite) — Hatchet Lite with postgres

Open this page in a browser: https://railway.com/deploy/railway-job-engine
