Hot starts, batch inference, and what's next for Runpod Serverless. Webinar June 25.

How to Install SillyTavern in a Runpod Instance

Want to upgrade from basic chat UIs? SillyTavern offers a more interactive interface for AI conversations. Here’s how to install it on your own Runpod instance.

How to Install SillyTavern in a Runpod Instance

While some might prefer the simple text-based entry of an oobabooga interface, others might want something a little more robust. SillyTavern offers a number of additional features above and beyond most methods of interfacing with an LLM, and there's been some demand on getting it set up and installed on Runpod. Let's take a look

Why use SillyTavern?

With as many front ends for LLM text roleplay as there are out there (oobabooga, KoboldAI, etc.), SillyTavern is a one-stop shop that lets you interface with all of them in a single place, rather than being limited to a single option. According to their GitHub, SillyTavern is a fork of TavernAI 1.2.8 that adds a number of additional features, supplied by a more active development roster. Over time, it has grown into its own program with its own goals, and according to GitHub statistics has become the more active project over TavernAI.

SillyTavern has a number of features that are more immersive than typical text front ends, such as backgrounds, character photographs, and more options with interacting with characters other than straight text. It also has mobile support, chat bookmarks, a more customizable UI, and a lot of user-friendly features that the other front ends lack. For a full list of features, I recommend checking out the SillyTavern wiki.

Screenshot from SillyTavern setup tutorial

Here's how to get SillyTavern up and running in a Runpod instance.

Spin up a pod

Because SillyTavern is a front end, it can run in any pod you like on Runpod. Selecting a particular pod is more about ensuring you have enough GPU resources to run your desired model. There are no particular resource requirements to run SillyTavern itself, other than the couple of gigs of space that you need to clone the repo. As far as the template for the pod, I do recommend choosing a template that has the desired server type that you use to run (KoboldAI, oobabooga, etc.) You can install any server in any pod without an issue, but selecting the one you want right off the bat means one less that you have to install manually and will save you some time.

Runpod Kobold AI United template card with Docker logo and koboldai/koboldai:united image name

Expose HTTP Port 8000

SillyTavern runs on port 8000, so whenever convenient you will need to expose this port under your Edit Pod screen under Expose HTTP Ports. (Be advised that doing so will force a restart of your pod.)

Expose HTTP Ports field in Runpod pod settings listing ports 7860, 5000, and 8000

Clone and install from the GitHub repo

Open up a Terminal and type the following in your workspace directory:

git clone https://github.com/SillyTavern/SillyTavern -b main

This will download the repo from GitHub. Once completed, type the following:

cd SillyTavern
vim config.conf

You'll  need to add some IP addresses to the pre-defined whitelist, due to the Runpod environment needing to connect to the machine to expose the port to the Internet. Change the line that begins with const whitelist to the following:

const whitelist = ['127.0.0.1','100.64.0.25', '100.64.0.24']

Hit Escape and :w to save, and then :q to exit vim, and then type ./start.sh and press Enter. (If you prefer to use Jupyter Notebook or some other method to edit the file, that's perfectly okay, too – this is just the fastest way of doing this, especially on a fresh pod install. If when running the server it gives you any other complaints about forbidden connections, add those IP addresses as well in the same format.)

The other option is to set up user authentication if you prefer, but for single-user setups I've found simply adding the IP address to the whitelist to be a one-and-done setup. (Be aware that SillyTavern will not run with a disabled whitelist as well as disabled user authentication; you must have at least one or the other enabled.)

Anyhow, running the start script will also install npm and node.js if they are not already installed. For reasons not entirely clear to me, I did have to run it multiple times after receiving "command not found" errors from the start script, but running it two or three times did eventually work through the install.

Once it's up and running, you'll get the following:

Entering SillyTavern...
Running from source
SillyTavern 1.8.4 'main' (ca3f8daa)
Launching...
SillyTavern is listening on:
http://0.0.0.0:8000/

This means you can go back to My Pods and connect to the HTTP service, and it should load in your browser.

Runpod connection options showing HTTP service on port 5000 not ready and connect buttons for ports 7860 and 8000
SillyTavern welcome screen with version info and links for chat setup, characters, documentation, and support

Connecting to a chat service

Once you see this screen, click the plug icon and select a service to connect to. KoboldAI is the default, but you can also connect to oobabooga if you have it running in your pod, or even KoboldAI Horde if you are running without a GPU (since the GPU will be provided by the horde in this case, though it may be slow to respond since you won't also be providing GPU cycles back to it.) Of course, you'll need to ensure that you connect to the service that's been supplied to your pod, or that you've otherwise installed manually.

SillyTavern API connection panel set to KoboldAI with API URL HTTP://localhost:5000/API and a Connect button

You can then click on the ID-badge looking icon in the upper right, and begin chatting with a character.

SillyTavern chat with the Megumin character introducing herself as the Arch Wizard of the Crimson Magic Clan

Or, upload your own TavernAI card from the same screen (highlighted.)

SillyTavern character list panel showing import icons and characters named Fenneko and Aqua

Questions?

Feel free to reach out to us with any inquiries!

Author profile: Brendan McKeag

Related articles

View All
Deploy When Available is now GA

Deploy When Available is now GA

Queue for any GPU spec, even one that's fully rented out, and we'll deploy it the moment capacity opens up. No more refreshing the console or running a sniping tool.

All
The Chips Got Faster. The Stack Didn't.

The Chips Got Faster. The Stack Didn't.

Explore why faster chips have shifted the bottleneck to AI infrastructure, and what that means for teams running production workloads.

All

Build what’s next.

Build, train, and scale AI workloads on Runpod with cloud GPUs, Serverless, and Clusters.