---
title: "Deploy SillyTavern Multi-User"
description: "Separate SillyTavern accounts for friends or family on one server"
category: "AI/ML"
url: https://railway.com/deploy/deploy-sillytavern-multi-user-accounts
---

# Deploy SillyTavern Multi-User

Separate SillyTavern accounts for friends or family on one server

**[Deploy SillyTavern Multi-User on Railway](https://railway.com/template/deploy-sillytavern-multi-user-accounts)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/deploy-sillytavern-multi-user-accounts/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 Multi-User (Self-Hosted Multi-User Roleplay Chat Setup) on Railway

This template gives a small group its own SillyTavern server with separate accounts.

## About Hosting SillyTavern Multi-User open-source software on Railway (self hosted SillyTavern multi-user mode with per-user data folders on Railway template)

Multi-user mode is switched on by `enableUserAccounts: true` in `config.yaml`, and this template sets it through `SILLYTAVERN_ENABLEUSERACCOUNTS=true`.

Every user folder lives on one persistent volume at `/home/node/app/data`, along with the account database. Your group's data survives redeploys.

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

Character.AI is hosted with content filters and no bring-your-own model. Railway's $5 trial covers the start, and one light always-on instance runs about $5 a month after that.

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 Multi-User 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 Multi-User self hosting

Hosting choice decides how much account and data setup you handle yourself.

| Provider | What You Get with Railway | What You Get with the Other Provider |
| --- | --- | --- |
| DigitalOcean | The volume holding every user's folder is attached for you, with no SSH setup. | A droplet where you install Docker and back up `/home/node/app/data` yourself. |
| AWS | The port, `/login` health check, and volume are wired together, with no security group review. | EC2 or Lightsail where you manage the instance and `ADMIN_PASSWORD` recovery. |
| Hetzner | Variables like `SILLYTAVERN_ENABLEUSERACCOUNTS=true` are set in the dashboard, and redeploys keep user data. | Low-cost servers where you edit `config.yaml` and run your own backup routine. |

## Common Use Cases for hosted SillyTavern Multi-User

- **Sharing with friends:** Create one account per friend from User Settings, Admin Panel. Each person gets a private character library and chat history on the same server.
- **Separating a household:** Give each member their own account so chats, personas, and API keys stay in separate folders on the data volume.
- **Running an admin-managed group:** Stay the only admin to control who gets an account and which extensions install for everyone.
- **Hiding the user list:** Set SILLYTAVERN_ENABLEDISCREETLOGIN=true so the login screen asks for a handle instead of showing names to visitors.
- **Recovering a locked-out member:** Read the 4-digit code printed in the server console, or run node recover.js with their account name inside the container to reset the password.

## Dependencies for SillyTavern Multi-User Docker hosted on Railway

This section covers what the template needs to run and how it fits together. The whole deployment is one SillyTavern service with a persistent volume, so there is nothing else to provision.

### Deployment Dependencies for Managed SillyTavern Multi-User Service (LLM Chat Frontend)

The template runs one service named SillyTavern using the official image ghcr.io/sillytavern/sillytavern:1.19.0, pinned by tag and digest.

### Implementation Details for SillyTavern Multi-User (Using SillyTavern official docker image)

Multi-user mode is switched on by SILLYTAVERN_ENABLEUSERACCOUNTS=true, which maps to enableUserAccounts in config.yaml.

## How does SillyTavern Multi-User compare against other ways to host SillyTavern for multiple users

### SillyTavern Multi-User vs Character.AI (Hosted Character Chat Alternative)

- **Model choice:** Character.AI runs its own hosted models, while each SillyTavern Multi-User account brings its own provider key and picks its own model.
- **Data location:** Character.AI keeps chats on its platform, but here each user's characters and chats sit in their own folder on a volume you control.
- **Where Character.AI wins:** It needs no setup, so one person who just wants to chat can start faster than with a server to run.

### SillyTavern Multi-User vs Janitor AI (Web-Based Character Chat Alternative)

- **Account control:** Janitor AI is a hosted web service, while this setup gives the admin a panel to create, delete, and promote accounts.
- **Privacy:** Each member's data stays on your volume, though upstream notes that API keys are stored in plain text, so keep the server private.
- **Where Janitor AI wins:** It works in a browser tab with nothing to deploy or maintain.

### SillyTavern Multi-User vs Agnaistic (Open-Source Multi-User Roleplay Chat Alternative)

- **Shared base:** Agnaistic is also open source and built for multiple users, so both suit a group that wants to host its own roleplay chat.
- **Login style:** SillyTavern Multi-User's discreet login option hides the user list and makes members type their handle, enabled with one variable.
- **Where Agnaistic wins:** If you prefer a different interface and workflow, Agnaistic may fit your group better.

### SillyTavern Multi-User vs RisuAI (Browser-Based Open-Source Chat Alternative)

- **Hosting shape:** RisuAI is a browser-based open-source frontend, while this setup runs as one server that every member logs into from their own device.
- **Separation:** Each account keeps its own characters, chats, settings, and keys in a separate folder on the server.
- **Where RisuAI wins:** It runs with no server at all, so there is nothing to pay for or keep online.

## How to use SillyTavern Multi-User (the OSS LLM frontend)?

Work through these steps on the first day after the deploy finishes. Multi-user mode stays off unless you turn it on, so confirm the service is healthy first.

1. Set `SILLYTAVERN_ENABLEUSERACCOUNTS=true` on the SillyTavern service, or `enableUserAccounts: true` in `config.yaml`.
2. Optionally set `SILLYTAVERN_ENABLEDISCREETLOGIN=true` so the login screen asks for a handle instead of listing users.
3. Set `ADMIN_PASSWORD` and log in as admin.
4. Open User Settings, Admin Panel and create an account for each friend.
5. Each user opens the Account button under User settings in the top menu bar and uses Change Password.
6. If a password is lost, read the 4-digit code from the server console on the login screen, or run the recover script in the container.

```bash
SILLYTAVERN_ENABLEUSERACCOUNTS=true
SILLYTAVERN_ENABLEDISCREETLOGIN=true
ADMIN_PASSWORD=your-long-admin-password

node recover.js friendhandle NewPassword
```

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

Running this on your own VPS means you handle the multi-user setup Railway does for you.

### Clone the Repository

Clone the upstream project and check out the release you want. Keep the data folder on a disk you back up, since every account's characters, chats, and API keys sit there.

```bash
git clone https://github.com/SillyTavern/SillyTavern.git
cd SillyTavern
```

### Install Dependencies

Install Node.js, then pull the packages the app needs. No accounts are created at this step.

```bash
npm install
```

### Configure Environment Variables

In `config.yaml`, set `enableUserAccounts: true` so each user gets a separate folder. Set `enableDiscreetLogin: true` to hide the user list on the login screen.

```bash
export ADMIN_PASSWORD=your-admin-password
```

### Start the SillyTavern Multi-User Application

Start the server, log in as admin, and create accounts in User Settings, Admin Panel. Back up the whole data directory on a schedule.

## Official Pricing of SillyTavern Multi-User (SillyTavern pricing)

SillyTavern is free and open source, so there is no license fee to pay for multi-user mode.

## SillyTavern Multi-User cloud vs self hosted comparison (Pricing, features, costs, and more)

Running SillyTavern for a group changes the math, since every member adds an account, keys, and data to protect. Here is what self hosting costs on Railway and what a VPS needs.

### Monthly cost of self hosting SillyTavern Multi-User on Railway

One always-on instance at light use runs roughly $5 per month, since it idles near 150 MB of memory. That covers the server only.

### System Requirements for Hosting SillyTavern Multi-User on a VPS

Plan for about 150 MB idle memory with headroom near 500 MB during the first-boot frontend compile.

## Frequently Asked Questions (FAQs)

### Do I need an admin account to add users?

Yes. Only an Admin can create, delete, or modify accounts from User Settings, Admin Panel. New accounts start as regular users, and you can promote someone to admin later.

### How do discreet login and the visible user list differ?

With SILLYTAVERN_ENABLEDISCREETLOGIN=true the login screen hides the user list, so people type their handle by hand. With it off, anyone can click a name from the list of active users.

### Where is each user's data stored on Railway?

Each user's characters, chats, settings, and API keys sit in their own folder on the persistent volume mounted at /home/node/app/data.

### Why does my password reset after a redeploy?

ADMIN_PASSWORD is re-applied to the admin account on every boot, overwriting any change made in the UI. Delete that variable if you want UI password changes to stick.

### Can a user see another user's API keys?

Not through the app, since accounts are isolated. However, upstream stores keys in plain text on the volume, so anyone with filesystem access can read them.

### How do I recover a forgotten password?

Use the recovery option on the login screen, which needs a one-time 4-digit code printed on the server console. You can also run node recover.js [account] (password) inside the container.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [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.

Open this page in a browser: https://railway.com/deploy/deploy-sillytavern-multi-user-accounts
