linuxSillyTavern Linux Guide

by Fuller (aka br aka swordnbuckler)

Intro

1

What is a podman?

Podman is a container engine.

2

Why should I use it?

Easy setup that doesn't gunk up your system, and allows for easy management of the process.

3

Why shouldn't I just git clone?

Gunks up your system by needing to install node, can't manage the process as easily, logs are a bit more annoying, can fuck up with cryptic git or npm errors.

4

Why not Docker?

I don't know how to. Also it doesn't work for immutable distros that don't come with docker.


Steps

First of all, I will assume you are using Ubuntu, but you can just substitute any commands with whatever your distro's package manager is.

1

Update your system.

You should already know how to (or so I hope), but I might as well spell it out. Not really a part of the guide, but it's a good idea. [NEEDS ROOT/SUDO, if using system package manager, such as apt]

apt update && apt upgrade
2

Install podman and curl (or wget, doesn't matter).

[NEEDS ROOT/SUDO, if using system package manager, such as apt]

apt install podman curl
3

Create SillyTavern's directory and fetch compose.yaml

mkdir ~/st # Can be something else or put elsewhere. Doesn't matter.
cd ~/st
curl -LO 'https://github.com/SillyTavern/SillyTavern/raw/refs/heads/release/docker/docker-compose.yml'
sed -i '/build/d' docker-compose.yml # Removes build line, podlet won't like it.
circle-info

If your distro packages podlet, or you're using brew, you can substitute step 3 with $InstallCommand podlet.

4

Generate quadlet file from compose.yml.

  • The command creates and runs an ephemeral container (run --rm)

  • With a volume for the compose file (-v [...]), :Z makes sure it works in systems using SELinux,

  • Uses the podlet image, with flag -a ~/st (change this if you have a different directory ) to ensure the volume pathname is absolute,

  • Compose tells podlet to convert the compose file according to the Compose specification,

  • And redirects it (>) to a file named sillytavern.container

podman run --rm \
    -v ./docker-compose.yml:/docker-compose.yml:Z \
    ghcr.io/containers/podlet \
    -a ~/st compose /docker-compose.yaml > sillytavern.container
5

Make it so st starts on boot [OPTIONAL] and install

cat <<EOF >> sillytavern.container #[OPTIONAL]
[Install]                          #[OPTIONAL]
WantedBy=default.target            #[OPTIONAL]
EOF                                #[OPTIONAL]
loginctl enable-linger $USER       #[OPTIONAL]
mkdir -p ~/.config/containers/systemd
cp sillytavern.container ~/.config/containers/systemd
6

Start the container

systemctl --user daemon-reload # so systemd can see the .container
systemctl --user start sillytavern.service # Will pull the image, may take a while the first time you run it.
ss -tulpn | grep 8000 #check if it's actually listening. If so, good boy.

FAQ

1

"SillyTavern made a new release! how do I update?"

It should update itself on boot but there's a good chance it'll time out before finishing. You can: A. Raise the timeout (look it up), or B. podman pull ghcr.io/sillytavern/sillyavern:latest (or staging, however it is you roll.)

2

"I don't want to be on stable! How do I get on staging?"

Edit the sillytavern.container file (the one in ~/.config/containers/systemd) and change sillytavern:latest to sillytavern:staging

3

"But br, you could have just made this a script!"

Correct! But I got too far and can't be bothered. Also not distro-agnostic, unless I took a great amount of effort.

4

"How do I see the status of the container or the logs?"

systemctl --user status sillytavern to see status and journalctl --user -u sillytavern for logs.

5

"I have port 8000 used by another service! How do I change it?"

Edit the .container file, specifically the line with PublishPort=8000:8000. The first port is the host's port, and the second is the container's port. You only need to change the first one, unless you edited the ST config (config/config.yaml) to listen on another port.

6

"I have more questions! Can I ask you?"

No. Sillytavern has great documentation. Read it.arrow-up-right


Page information Last updated: 17 Feb 2026 10:44 UTC, originally from herearrow-up-right and Avalonarrow-up-right's Discordarrow-up-right guide channel. Maintained by: Corpses Notes: Added formatting for reading. Istg Br. This guide is community-maintained and may evolve over time.

Was this helpful?