---
title: "Deploy SillyTavern"
description: "Chat with AI characters through OpenAI, Claude, OpenRouter or Ollama."
category: "Other"
url: https://railway.com/deploy/sillytavern-ai-chat
---

# Deploy SillyTavern

Chat with AI characters through OpenAI, Claude, OpenRouter or Ollama.

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

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

- **Creator:** blueorange
- **Category:** Other

## Template content

### sillytavern https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/sillytavern.png

- **Source:** https://github.com/gridalpha/sillytavern-railway
- **Public domain:** Yes

## Documentation

# Deploy and Host SillyTavern on Railway

![SillyTavern logo](https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/sillytavern.png)

SillyTavern is an open source **AI chat frontend** for character roleplay, storytelling and power-user LLM chat. It does not run a model itself. Instead it connects to the model you choose, from OpenAI, Anthropic Claude, Google Gemini, OpenRouter, DeepSeek or Mistral to self-hosted backends such as Ollama, KoboldCpp, llama.cpp and text-generation-webui, and gives you character cards, group chats, lorebooks, personas, deep prompt control and a large extension ecosystem. It is AGPL-3.0 licensed with about 35,600 GitHub stars, and release 1.19.0 shipped in September 2026. This template runs SillyTavern on Railway with a persistent volume, user accounts turned on, a generated admin password, and a fix that makes login rate limiting work behind Railway's proxy. Character.AI's c.ai+ costs $9.99/month and keeps you on its own models and filters. SillyTavern on Railway costs about $5/month plus whatever your chosen API charges.

---

## What This Template Deploys

| Service | Purpose |
|---|---|
| **sillytavern** | Built from a small Railway wrapper around `ghcr.io/sillytavern/sillytavern:latest`, the official image. Web app on port `8000` with a public domain. Health check on `/login`. |
| **Persistent Volume** | Mounted at `/home/node/app/data`. Holds user accounts, characters, chats, group chats, lorebooks, settings, saved API keys, plugins and installed extensions, so nothing is lost on redeploy. |

---

## About Hosting SillyTavern

Running SillyTavern on your own computer works until you want to chat from your phone, share it with a friend, or keep it running all day. Hosting it puts the same app at a private HTTPS address, with your library stored in one place.

**Character cards.** Import characters as PNG cards with embedded data, including cards from popular community sites, or create your own with a description, personality, example dialogue and first message.

**Group chats.** Put several characters in one conversation and choose how turns are taken, for party adventures or writing rooms.

**World Info and lorebooks.** Store lore, places and facts as keyword-triggered entries, so details enter the prompt only when they come up and save tokens.

**Personas.** Define who you are in the story and switch personas per chat or character.

**Prompt control.** Edit system prompts, instruct templates, context templates, sampler settings and presets, and see exactly what is sent to the model.

**Data Bank.** Attach documents and web pages to a chat or character and let built-in retrieval add relevant parts to the prompt.

**Extensions.** Add image generation with Stable Diffusion, FLUX or DALL-E, text-to-speech, character expression sprites, chat summaries, translation and web search, plus community extensions from GitHub.

**Branching and swipes.** Regenerate replies, swipe between alternatives, edit any message and branch a chat from any point.

---

## Deploy SillyTavern in Under 5 Minutes

1. Click **Deploy on Railway**. The admin password is generated for you.
2. Wait for the build and the health check on `/login`. The first boot seeds the config and sets the password.
3. Copy `ST_ADMIN_PASSWORD` from the service's **Variables** tab.
4. Open the public domain and log in as `default-user` with that password.
5. Open **API Connections**, pick a provider, paste your API key, choose a model and start chatting. Add more users from the **Admin Panel** if you want to share it.

---

## Common Use Cases

- **Character roleplay:** chat with your own or community characters using the model you prefer.
- **Interactive fiction:** run long stories with lorebooks, group chats and a narrator character.
- **Creative writing:** use branching, swipes and edits to draft scenes and dialogue.
- **Model testing:** compare OpenAI, Claude, Gemini and open models on the same prompts and characters.
- **Private chat from any device:** reach your library from a phone or tablet over HTTPS.
- **Prompt engineering:** tune system prompts, samplers and presets, then reuse them across characters and models.
- **Small group server:** give friends their own accounts with separate characters and chats on one instance.

---

## Configuration

| Variable | Required | Default | Description |
|---|---|---|---|
| `ST_ADMIN_PASSWORD` | 🔐 Auto-generated | 16-char secret | Password for the `default-user` admin account |
| `SILLYTAVERN_SESSIONTIMEOUT` | Optional | `604800` | Seconds of inactivity before a login expires, 7 days by default |
| `PORT` | Auto-set | `8000` | Port SillyTavern listens on |
| `RAILWAY_DOCKERFILE_PATH` | Optional | `Dockerfile` | Dockerfile used for the build |

Any SillyTavern `config.yaml` setting can also be set as a variable: `SILLYTAVERN_` plus the setting name in capitals. The wrapper already sets user accounts on, the IP whitelist off and real-IP headers on.

**Changing the admin password.** Change `ST_ADMIN_PASSWORD` and redeploy. The wrapper sets the new password once and remembers it, so a password you change inside the app stays until you change the variable again.

**The local model gotcha.** SillyTavern runs on Railway, so `localhost` means the container, not your PC. Ollama or KoboldCpp at home must be reachable over a public HTTPS URL, or run on Railway in the same project and be addressed by its `railway.internal` hostname.

**API keys.** Keys you paste in **API Connections** are saved per user on the volume, not in Railway variables, and are hidden from other users. Each account can use its own keys and providers.

**Sharing with friends.** Create accounts in the **Admin Panel** and give each person a password. Every user gets separate characters, chats, settings and extensions. Leave admin rights only on your own account, since admins can manage everyone.

**Running a model on Railway too.** Deploy Ollama or another OpenAI-compatible server in the same project and point SillyTavern at its private `railway.internal` address. Traffic stays off the public internet, but CPU-only inference is slow for large models, so most people pair SillyTavern with a hosted API.

**Backups.** Everything lives under the data folder on the volume. Use Railway volume backups, or export characters and chats from the app before big upgrades.

---

## SillyTavern vs. Alternatives

| Feature | SillyTavern on Railway | Character.AI with c.ai+ | Open WebUI | KoboldCpp UI |
|---|---|---|---|---|
| Hosting | Self-hosted | Hosted SaaS | Self-hosted | Self-hosted |
| Choose any model or API | ✅ | ❌ | ✅ | Local models |
| Character cards and lorebooks | ✅ | Built-in characters | ❌ | Basic |
| Group chats | ✅ | ✅ | ❌ | Basic |
| Full prompt control | ✅ | ❌ | Partial | ✅ |
| Your data stays with you | ✅ | ❌ | ✅ | ✅ |
| Price | About $5/month plus API usage | $9.99/month | Hosting cost | Your hardware |

Character.AI is easy but locks you into its models and content rules. Open WebUI is a strong ChatGPT-style assistant for documents and tools, but not built for characters. KoboldCpp is great for running a model locally and pairs well with SillyTavern as the backend.

---

## Dependencies for SillyTavern Hosting

- A Railway account.
- An API key from an LLM provider, or a self-hosted model server with a reachable URL.

### Deployment Dependencies

- [SillyTavern on GitHub](https://github.com/SillyTavern/SillyTavern): source code and releases
- [SillyTavern documentation](https://docs.sillytavern.app/): API connections, characters and extensions
- [sillytavern-railway](https://github.com/gridalpha/sillytavern-railway): the Railway wrapper used here

### Implementation Details

The wrapper follows the official image's `latest` tag, so a redeploy picks up new releases; the current one is 1.19.0. Railway gives each service one volume, so the wrapper links the plugins and global extensions folders onto the data volume, where upstream's Docker Compose setup uses separate mounts. It sizes the Node.js heap from the container's memory limit and patches the client IP key so the login rate limiter sees real visitors instead of Railway's rotating proxy addresses. The app runs as the unprivileged `node` user.

---

## Frequently Asked Questions

**What is SillyTavern?**
An AGPL-3.0 web frontend for chatting with AI characters through almost any LLM API or local model backend.

**How much does it cost to host SillyTavern?**
About $5/month on Railway, plus usage fees from the LLM provider you connect.

**How do I log in the first time?**
Use the username `default-user` and the `ST_ADMIN_PASSWORD` from the service's Variables.

**Does SillyTavern include an AI model?**
No. Connect OpenAI, Claude, Gemini, OpenRouter or a self-hosted backend such as Ollama in **API Connections**.

**Can I import character cards?**
Yes. Import PNG or JSON character cards from the character panel, including cards made for other frontends.

**Where are my chats saved?**
On the Railway volume at `/home/node/app/data`, together with characters, users, settings and extensions.

---

## Why Deploy and Host SillyTavern 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 SillyTavern on Railway, you get your own private AI character chat that works with any model, reachable from every device, without a chat subscription.


## 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/sillytavern-ai-chat
