---
title: "Deploy pulse-baseline"
description: "Router, Redis, and janitor baseline for Pulse deployments on Railway."
category: "Other"
url: https://railway.com/deploy/pulse-baseline
---

# Deploy pulse-baseline

Router, Redis, and janitor baseline for Pulse deployments on Railway.

**[Deploy pulse-baseline on Railway](https://railway.com/template/pulse-baseline)**

- **Creator:** Erwin Kuhn's Projects
- **Category:** Other

## Template content

### pulse-janitor https://api.iconify.design/mdi:trash-can.svg?color=%23f59e0b&width=157&height=157

- **Image:** ghcr.io/erwinkn/pulse-railway-janitor:0.1.0
- **Start command:** `sh -c 'pulse-railway janitor run'`

### pulse-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"`

### pulse-router https://api.iconify.design/mdi:router-network.svg?color=%2338bdf8&width=157&height=157

- **Image:** ghcr.io/erwinkn/pulse-railway-router:0.1.0
- **Start command:** `sh -c 'uvicorn pulse_railway.router:build_app_from_env --factory --host 0.0.0.0 --port "${PORT:-8000}"'`
- **Health check:** /healthz

## Documentation

# Deploy and Host Pulse Baseline on Railway

Pulse Baseline provisions the stable Railway control plane used by `pulse-railway init` before Pulse app deployments are rolled out.

## About Hosting Pulse Baseline

This template creates three baseline services:

- `pulse-router` routes HTTP and WebSocket traffic to the active Pulse deployment.
- `pulse-redis` stores active deployment state, drain state, and shared Railway session data.
- `pulse-janitor` removes drained deployment services after connected clients reload.

The template is intentionally small. `pulse-railway init` deploys it first, then writes the runtime variables, domains, health checks, cron settings, and image pins needed by the installed plugin version.

## Why Deploy Pulse Baseline on Railway?

Railway gives Pulse a simple place to run a persistent router, shared Redis, and cleanup job next to each app deployment. That keeps the app deploy flow focused on creating new backend services while the baseline handles traffic affinity, WebSocket routing, and old deployment cleanup.

## Common Use Cases

- Bootstrap the baseline stack for `pulse-railway` deployments.
- Inspect the control-plane services used by the Pulse Railway plugin.
- Test router, Redis, and janitor behavior independently from an app rollout.

## Dependencies for Pulse Baseline

Use `pulse-railway init` for normal setup. Manual deployment is mainly useful for template inspection or debugging.

### Deployment Dependencies

- `ghcr.io/erwinkn/pulse-railway-router`
- `ghcr.io/erwinkn/pulse-railway-janitor`
- Redis 8 with a Railway volume
- A Pulse app deployed later with `pulse-railway deploy`

## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — [Jul'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/pulse-baseline
