-
-
Notifications
You must be signed in to change notification settings - Fork 185
2.1.15 Frontend SillyTavern
Handle:
sillytavern
URL: http://localhost:34791

SillyTavern is a feature-rich, locally-installed web UI for interacting with LLMs. It supports multiple AI backends (Ollama, llama.cpp, OpenAI-compatible APIs, and more), advanced prompt engineering, personas, lorebooks, extensions, and a wide range of customization options. Originally a fork of TavernAI, it has grown into a full-featured power-user frontend for local AI.
Key Features:
- Multi-backend support: Ollama, llama.cpp, OpenAI-compatible APIs, Claude, Gemini, and many more
- Personas & Characters: Create and manage character cards with detailed personality profiles
- Advanced prompting: Lorebooks, author's notes, custom system prompts, and injection controls
- Extensions: Rich plugin ecosystem with STScript, Regex scripting, and third-party modules
- UI customization: Themes, movable panels, and extensive visual configuration options
harbor pull sillytavern
harbor up sillytavern --openNo default credentials are required. Access is controlled by an IP whitelist, which Harbor preconfigures to accept all connections (0.0.0.0/0). If you expose this service publicly, enable basic auth via SILLYTAVERN_BASICAUTHMODE=true in services/sillytavern/override.env, or enable multi-user mode.
Following options can be set via harbor config:
# Host port for the SillyTavern web UI
HARBOR_SILLYTAVERN_HOST_PORT 34791
# Docker image and version
HARBOR_SILLYTAVERN_IMAGE ghcr.io/sillytavern/sillytavern
HARBOR_SILLYTAVERN_VERSION latest
# Workspace directory for persistent data
HARBOR_SILLYTAVERN_WORKSPACE ./services/sillytavernAdditional SillyTavern-specific env vars can be set in services/sillytavern/override.env. The environment variable naming convention for SillyTavern config overrides is SILLYTAVERN_<CONFIG_KEY> (uppercase, dots replaced with underscores). For example:
# Enable HTTP basic auth
SILLYTAVERN_BASICAUTHMODE=true
SILLYTAVERN_BASICAUTHUSER_USERNAME=myuser
SILLYTAVERN_BASICAUTHUSER_PASSWORD=mysecretpassword
# Enable multi-user mode
SILLYTAVERN_ENABLEUSERACCOUNTS=trueSillyTavern persists all user data, characters, chats, and settings to the workspace directory:
| Container Path | Host Path | Purpose |
|---|---|---|
/home/node/app/config |
./services/sillytavern/config |
Server configuration (config.yaml) |
/home/node/app/data |
./services/sillytavern/data |
User data: chats, characters, settings |
/home/node/app/plugins |
./services/sillytavern/plugins |
Server-side plugins |
/home/node/app/public/scripts/extensions/third-party |
./services/sillytavern/extensions |
UI extensions |
Note: The config/, data/, plugins/, and extensions/ subdirectories are excluded from Git (.gitignore) to prevent committing personal AI chat history and configuration.
SillyTavern connects to AI backends through its API Connections UI panel. It cannot auto-detect backends from environment variables alone, so you need to set the URL in the UI after startup.
- Start SillyTavern with Ollama:
harbor up sillytavern ollama - In the SillyTavern UI, open API Connections
- Select Ollama as the API type
- Set the URL to the Ollama internal address: run
harbor url ollamato fetch it - Select a model and connect
When started together, SillyTavern and Ollama are placed on the same Docker network (harbor-network), so the internal URL is accessible without port forwarding.
- Start SillyTavern with llama.cpp:
harbor up sillytavern llamacpp - In the SillyTavern UI, open API Connections
- Select llama.cpp as the API type
- Set the URL to the llama.cpp internal address: run
harbor url llamacppto fetch it
SillyTavern supports any OpenAI-compatible endpoint. Use the Custom (OpenAI-compatible) API type and set the base URL accordingly.
harbor logs sillytavernService is unreachable: Ensure SILLYTAVERN_LISTEN=true is set (it is by default in harbor). Without this, SillyTavern only binds to 127.0.0.1 inside the container.
Connection refused from browser: Check that SILLYTAVERN_WHITELIST includes your IP or is set to ["0.0.0.0/0"] (Harbor default). On Linux Docker CE, whitelistDockerHosts does not work — Harbor's compose sets the open whitelist explicitly.
Cannot connect to Ollama from SillyTavern UI: Make sure both services are running with harbor up sillytavern ollama. Use harbor url ollama to get the correct internal URL.