---
title: "Deploy sentinel"
description: "Deploy and Host sentinel with Railway"
category: "Other"
url: https://railway.com/deploy/sentinel
---

# Deploy sentinel

Deploy and Host sentinel with Railway

**[Deploy sentinel on Railway](https://railway.com/template/sentinel)**

- **Creator:** My Projects
- **Category:** Other
- **Total deploys:** 5

## Template content

### sentinel

- **Source:** jaxxstorm/sentinel

## Documentation

# Deploy and Host sentinel on Railway

`sentinel` monitors your Tailscale network and emits events when peers change state (online/offline, runtime, and identity changes). It supports structured routing to sinks like stdout, webhooks, and Discord. You can run it continuously with minimal config and onboard automatically using Tailscale auth credentials.

## About Hosting sentinel

Hosting `sentinel` on Railway is straightforward: deploy the container, provide a Tailscale auth credential, and optionally configure notification routing (for example Discord). The app keeps local state, joins your tailnet, polls or streams network state, detects changes, and sends notifications. For Railway templates, keep required variables minimal and mark sensitive values as secrets. Most other settings can stay unset and use sane defaults. If you want custom routing, provide `SENTINEL_NOTIFIER_SINKS` and `SENTINEL_NOTIFIER_ROUTES` as JSON env vars. For local parity, use your compose template and the same env names.

## Common Use Cases

- Alert a Discord channel when tailnet devices appear/disappear.
- Track infrastructure node churn across environments.
- Run continuous tailnet monitoring without managing your own VM.

## Dependencies for sentinel Hosting

- A Tailscale tailnet and auth credential (auth key or OAuth credentials).
- An optional notification endpoint (Discord webhook or generic webhook).

### Deployment Dependencies

- Railway Deployments: https://docs.railway.com/
- Railway Variables/Secrets: https://docs.railway.com/guides/variables
- Tailscale auth keys: https://tailscale.com/kb/1085/auth-keys
- Tailscale tags: https://tailscale.com/kb/1068/tags
- Discord webhooks: https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks

### Implementation Details

```env
# Required (default login mode = auth_key)
SENTINEL_TAILSCALE_AUTH_KEY=tskey-auth-...

# Optional
SENTINEL_TSNET_LOGIN_MODE=auth_key
SENTINEL_NOTIFIER_SINKS=[{"name":"stdout-debug","type":"stdout"},{"name":"discord-primary","type":"discord","url":"${SENTINEL_DISCORD_WEBHOOK_URL}"}]
SENTINEL_NOTIFIER_ROUTES=[{"event_types":["*"],"sinks":["stdout-debug","discord-primary"]}]
SENTINEL_DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/...
SENTINEL_TSNET_ADVERTISE_TAGS=["tag:sentinel"]
```

## Why Deploy sentinel 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 sentinel 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

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — 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/sentinel
