---
title: "Deploy Deploy SillyTavern AI Chat on Railway"
description: "Self-hosted LLM chat and roleplay frontend with user accounts"
category: "AI/ML"
url: https://railway.com/deploy/deploy-sillytavern-ai-chat-on-railway
---

# Deploy Deploy SillyTavern AI Chat on Railway

Self-hosted LLM chat and roleplay frontend with user accounts

**[Deploy Deploy SillyTavern AI Chat on Railway on Railway](https://railway.com/template/deploy-sillytavern-ai-chat-on-railway)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/deploy-sillytavern-ai-chat-on-railway/manifest.json

- **Creator:** onepush
- **Category:** AI/ML

## Template content

### SillyTavern

- **Image:** ghcr.io/sillytavern/sillytavern:1.19.0@sha256:eef27ff0c7961f1a2f488400f581f48ff38f8b910c5d3b8d389138d71791bb14
- **Start command:** `/bin/sh -c 'set -e; cd /home/node/app; R=/home/node/app/data/_railway; if [ "$(stat -c %u data)" != 1000 ]; then chown -R 1000:1000 data; echo "volume: data handed to node (uid 1000)"; fi; su-exec node mkdir -p "$R/config" "$R/extensions" "$R/plugins"; for p in config:config plugins:plugins public/scripts/extensions/third-party:extensions; do s="${p%%:*}"; t="$R/${p##*:}"; if [ ! -L "$s" ]; then [ -d "$s" ] && su-exec node cp -an "$s/." "$t/"; rm -rf "$s"; ln -s "$t" "$s"; chown -h 1000:1000 "$s"; fi; done; if [ ! -e config/config.yaml ]; then su-exec node cp default/config.yaml config/config.yaml; echo "config: seeded data/_railway/config/config.yaml from defaults"; fi; if [ -n "$ADMIN_PASSWORD" ]; then H="${ADMIN_HANDLE:-default-user}"; if su-exec node node recover.js "$H" "$ADMIN_PASSWORD" >/dev/null; then echo "accounts: password for $H set from ADMIN_PASSWORD"; else echo "accounts: could not set password for $H" >&2; fi; fi; exec tini -- ./docker-entrypoint.sh'`
- **Health check:** /login
- **Public domain:** Yes

## Documentation

# Deploy and Host self hosted SillyTavern (LLM Chat Frontend) on Railway

This template runs your own SillyTavern 1.19.0 on Railway: one service, the official image, a volume that keeps every character and chat. It suits small groups of friends.

## About Hosting SillyTavern open-source software on Railway (self hosted SillyTavern template)

You own the data. Every character card, chat, group chat, persona, lorebook, preset and API key lives on a Railway volume mounted at /home/node/app/data, not on someone else's server.

This template runs the official ghcr.io/sillytavern/sillytavern:1.19.0 image in user-accounts mode, one service, no build step. Railway handles TLS, the public domain, restarts and the volume, so you skip Docker and nginx. Upgrading is a tag change.

## Why Deploy SillyTavern, the Character.AI alternative on Railway (Railway Free Trial)

Character.AI gives you someone else's models, someone else's filters, and a subscription fee. The $5 trial covers the first stretch.

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 SillyTavern 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.

### Railway vs Other Hosting Providers and VPS for SillyTavern self hosting

A VPS gives you a whole machine and the setup work that comes with it; Railway gives you one SillyTavern container with a data volume already attached.

| Provider | What You Get with Railway | What You Get with the Other Provider |
| --- | --- | --- |
| DigitalOcean | One service, one volume, HTTPS, about $5/mo | A Droplet, Docker, TLS and backups on you |
| AWS | Same single service, no console, pay for use | EC2, EBS, security groups, load balancer, hourly billing |
| Hetzner | Swap the image tag, redeploy, done | Cheap VPS in Europe, but you run Node.js and patch it |

Both paths work; Railway just removes the server maintenance.

## Common Use Cases for hosted SillyTavern

- **Private roleplay group:** Invite friends as separate accounts, each with their own characters, personas, chats and API keys.
- **Character card library:** Keep imported cards, world info, presets and shared extensions on the volume so a redeploy never wipes a setup you spent weeks tuning.
- **Always-on mobile chat:** Reach the same account from a phone, laptop or tablet behind one login instead of copying chats between devices.
- **Provider shopping:** Point the same install at OpenAI, Claude, Gemini or a private Ollama service on railway.internal and compare replies without a rebuild.
- **Long story arcs:** Group chats, lorebooks and chat history survive restarts and image upgrades, so slow-burn campaigns keep their context.

## Dependencies for SillyTavern Docker hosted on Railway

SillyTavern on Railway is one service from the official image: no build step, no database. It needs one volume and a set of environment variables that override config.yaml keys.

### Deployment Dependencies for Managed SillyTavern Service (LLM Chat UI)

- **Image:** ghcr.io/sillytavern/sillytavern:1.19.0 pinned by tag and digest, no custom build step.
- **Port:** 8000, health check on /login (180 s timeout), restart ALWAYS.
- **Volume:** /home/node/app/data, holding characters, chats, lorebooks, the account database and the cookie secret.
- **Variables (defaulted):** ADMIN_PASSWORD, PORT and SILLYTAVERN_PORT both 8000, SILLYTAVERN_ENABLEUSERACCOUNTS=true, PUID and PGID 1000.
- **Models:** nothing bundled. Bring your own OpenAI, Claude, OpenRouter or Ollama key.

### Implementation Details for SillyTavern (Using the official ghcr.io/sillytavern/sillytavern 1.19.0 image)

Railway allows one volume per service, so the start command moves config/, plugins/ and the global extensions folder into data/_railway and symlinks them back, so edits and extensions survive redeploys.

## How does SillyTavern compare against other LLM chat frontends

### SillyTavern vs Character.AI (Character.AI Alternative)

- **Model choice:** Character.AI supplies the models; SillyTavern ships none, so your OpenAI, Claude, Gemini, OpenRouter, DeepSeek, Mistral or Ollama key decides quality and cost.
- **Content rules:** Character.AI filters replies and runs a social feed; here your presets, lorebooks and extensions set the tone.
- **Where Character.AI wins:** zero setup and a polished mobile app.

### SillyTavern vs Open WebUI (Open WebUI Alternative)

- **Focus:** Open WebUI is a ChatGPT-style workspace with documents and RAG; SillyTavern is built for character cards, group chats and world info.
- **Providers:** both accept OpenAI-compatible endpoints, but SillyTavern also speaks KoboldCpp, NovelAI and others.
- **Where Open WebUI wins:** document chat and admin tooling are more complete.

### SillyTavern vs LibreChat (LibreChat Alternative)

- **Scope:** LibreChat is a multi-provider ChatGPT clone with agents and search; SillyTavern goes deeper on roleplay.
- **Moving parts:** LibreChat wants MongoDB and extra services; this template is one service and one volume.
- **Where LibreChat wins:** shared workspaces and enterprise-style auth.

### SillyTavern vs Agnaistic (Agnaistic Alternative)

- **Similar ground:** both are open-source, multi-user roleplay frontends with characters and lorebooks.
- **Ecosystem:** SillyTavern has more extensions, character cards, image generation and TTS hooks.
- **Where Agnaistic wins:** fewer settings to learn before the first chat.

Character.AI is the easiest place to start; SillyTavern is the one you keep once you care which model answers.

## How to use SillyTavern (AI character chat)?

1. Wait for the deployment to go healthy. First boot compiles the frontend and takes about 40 to 60 seconds; later boots are faster.
2. Open the Variables tab and copy `ADMIN_PASSWORD`, the 32-character value generated for you.
3. Open the public URL, click the User account button, and log in as the admin with that password.
4. Click the plug icon to open API Connections, pick a provider like Chat Completion with OpenAI, Claude or OpenRouter, paste your key, and connect.
5. Start chatting with Seraphina, the preinstalled character, or import character cards, lorebooks and presets of your own.
6. In User Settings and the Admin Panel, create accounts for friends so each person keeps private characters, chats and keys.
7. Change `ADMIN_PASSWORD` in the Variables tab and redeploy whenever you want a new admin password; UI changes reset on boot.

## How to self host SillyTavern on other VPS Services (SillyTavern self hosting guide)

The official Docker image is the shortest path. This runs on a 1 GB VPS behind a reverse proxy.

### Clone the Repository

Pull the image, or clone the source:

```
docker pull ghcr.io/sillytavern/sillytavern:1.19.0
git clone https://github.com/SillyTavern/SillyTavern.git
```

### Install Dependencies

Docker Engine and Compose, plus Node.js only if you run start.sh from a clone. A reverse proxy handles TLS.

### Configure Environment Variables

Copy the config.yaml defaults and set listen, whitelist or user accounts, and the data paths. Mount three volumes for data, config and plugins. Never expose it publicly with the whitelist off and accounts off.

### Start the SillyTavern Application

```
docker run -d -p 8000:8000 -v ~/st/data:/home/node/app/data ghcr.io/sillytavern/sillytavern:1.19.0
```

Wait for the frontend compile, then open https://your-domain/login and sign in as the admin user.

Railway does the volume wiring, the admin password, the health check and the redeploys for you.

## Official Pricing of SillyTavern (SillyTavern pricing)

SillyTavern itself costs nothing. Your friends' accounts add no cost, and there is no paid tier or upsell inside the app. It's AGPL-3.0 licensed, ships no model, and every token is billed by the provider whose key you paste in.

## SillyTavern vs Character.AI cost comparison (Pricing, features, costs, and more)

SillyTavern is free and open source; Character.AI charges a subscription for its hosted tiers. Both bill you for the model side differently: here you pay your provider per token, there the model is bundled.

### Monthly cost of self hosting SillyTavern on Railway

About $5/mo for one always-on instance at light use, since it idles near 150 MB. The Railway $5 trial covers a first look. Provider tokens are extra.

### System Requirements for Hosting SillyTavern on a VPS

Any 1 vCPU, 1 GB box with Docker works. Budget 2 GB for extension models.

## Frequently Asked Questions (FAQs)

### Where do I find the admin password?

In Railway, open the service and check ADMIN_PASSWORD on the Variables tab. It is 32 random alphanumeric characters, re-applied to the default-user admin account on every boot.

### How do I add an API key?

Log in, click the plug icon for API Connections, pick a provider such as OpenAI, Claude or OpenRouter, paste your key and connect. Keys sit in your user data on the volume.

### How do I add friends as users?

As admin, open User Settings and the Admin Panel, then create an account per person. Each user gets their own characters, chats, presets and API keys.

### Can I use Ollama running on Railway?

Yes. Point SillyTavern at http://service-name.railway.internal:port. If you enable SILLYTAVERN_PRIVATEADDRESSWHITELIST_ENABLED, allow 10.0.0.0/8 and fd00::/8.

### Why am I logged out after a redeploy?

The session cookie name comes from the container hostname, which changes each deployment. Log in again with ADMIN_PASSWORD; your data is untouched.

### What persists on the volume?

Everything under /home/node/app/data: characters, chats, personas, lorebooks, presets, secrets, backups and the account database. Config edits and global plugins live in data/_railway.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Möbius v0.1 Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.

Open this page in a browser: https://railway.com/deploy/deploy-sillytavern-ai-chat-on-railway
