From 04ad1011f089241da9a6570fd84aa51a2b01bc13 Mon Sep 17 00:00:00 2001 From: mrguymiah Date: Mon, 20 May 2024 22:42:25 -0400 Subject: [PATCH 1/2] Update readme.md Added Docker instructions --- .github/readme.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/readme.md b/.github/readme.md index 434aeec75..82cb58c29 100644 --- a/.github/readme.md +++ b/.github/readme.md @@ -196,6 +196,28 @@ For MacOS / Linux all of these will be done in a Terminal. 5. Start the install launcher with: `chmod +x install.sh && ./install.sh` and choose what you wanna install 6. After installation start the launcher with: `chmod +x launcher.sh && ./launcher.sh` +## Installing via Docker +Installing via Docker is perhaps the easiest way to do it. These instructions assume you have installed Docker, are able to access your command line for the installation of containers, and familiar with their general operation. + +You will need three directory mappings and a port mapping to allow SillyTavern to function. In the command, replace your selections in the following places +### Container Variables +#### Volume Mappings +- [extensions] - The directory where SillyTavern extensions will be stored on your host machine. ex: /mnt/user/ +- [config] - The directory where SillyTavern configuration files will be stored on your host machine +- [user] - The directory where SillyTavern user data (including characters) will be stored on your host machine + +#### Port Mappings +- [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security. + +#### Additional Settings +- [TimeZone] - The timezone your instance should use. This is useful for making logs match your local time for easier troubleshooting. Use your TZ Identifier. (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) +- [DockerNet] - The docker network that the container should be created with a connection to. +- [Version] - On the right hand side of this github page, you'll see "Packages". Select the "SillyTavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date always, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to upddate. + +### Install command +1. Open your Command Line +2. Run the following command `docker create --name='silly-tavern' --net='[DockerNet]' -e TZ="[TimeZone]" -p '8000:8000/tcp' -v '[extensions]':'/home/node/app/public/scripts/extensions/third-party':'rw' -v '[config]':'/home/node/app/config':'rw' -v '[user]':'/home/node/app/public/user':'rw' 'ghcr.io/sillytavern/sillytavern:[version]' ` + ## 📱 Mobile - Installing via termux > \[!NOTE] From c2ed5d07e21df0da03212aaa4420382fa2e489a7 Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Tue, 21 May 2024 20:30:28 +0300 Subject: [PATCH 2/2] Update readme.md --- .github/readme.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/.github/readme.md b/.github/readme.md index 82cb58c29..9abf46ff7 100644 --- a/.github/readme.md +++ b/.github/readme.md @@ -197,26 +197,31 @@ For MacOS / Linux all of these will be done in a Terminal. 6. After installation start the launcher with: `chmod +x launcher.sh && ./launcher.sh` ## Installing via Docker -Installing via Docker is perhaps the easiest way to do it. These instructions assume you have installed Docker, are able to access your command line for the installation of containers, and familiar with their general operation. +These instructions assume you have installed Docker, are able to access your command line for the installation of containers, and familiar with their general operation. -You will need three directory mappings and a port mapping to allow SillyTavern to function. In the command, replace your selections in the following places -### Container Variables -#### Volume Mappings -- [extensions] - The directory where SillyTavern extensions will be stored on your host machine. ex: /mnt/user/ +### Using the GitHub Container Registry (easiest) + +You will need two mandatory directory mappings and a port mapping to allow SillyTavern to function. In the command, replace your selections in the following places: + +#### Container Variables +##### Volume Mappings - [config] - The directory where SillyTavern configuration files will be stored on your host machine -- [user] - The directory where SillyTavern user data (including characters) will be stored on your host machine +- [data] - The directory where SillyTavern user data (including characters) will be stored on your host machine +- [plugins] - (optional) The directory where SillyTavern server plugins will be stored on your host machine -#### Port Mappings +##### Port Mappings - [PublicPort] - The port to expose the traffic on. This is mandatory, as you will be accessing the instance from outside of its virtual machine container. DO NOT expose this to the internet without implementing a separate service for security. -#### Additional Settings +##### Additional Settings - [TimeZone] - The timezone your instance should use. This is useful for making logs match your local time for easier troubleshooting. Use your TZ Identifier. (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) -- [DockerNet] - The docker network that the container should be created with a connection to. -- [Version] - On the right hand side of this github page, you'll see "Packages". Select the "SillyTavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date always, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to upddate. +- [DockerNet] - The docker network that the container should be created with a connection to. If you don't know what it is, see the [official Docker documentation](https://docs.docker.com/reference/cli/docker/network/). +- [version] - On the right-hand side of this GitHub page, you'll see "Packages". Select the "sillytavern" package and you'll see the image versions. The image tag "latest" will keep you up-to-date with the current release. You can also utilize "staging" and "release" tags that point to the nightly images of the respective branches, but this may not be appropriate, if you are utilizing extensions that could be broken, and may need time to update. -### Install command +#### Install command 1. Open your Command Line -2. Run the following command `docker create --name='silly-tavern' --net='[DockerNet]' -e TZ="[TimeZone]" -p '8000:8000/tcp' -v '[extensions]':'/home/node/app/public/scripts/extensions/third-party':'rw' -v '[config]':'/home/node/app/config':'rw' -v '[user]':'/home/node/app/public/user':'rw' 'ghcr.io/sillytavern/sillytavern:[version]' ` +2. Run the following command `docker create --name='sillytavern' --net='[DockerNet]' -e TZ="[TimeZone]" -p '8000:8000/tcp' -v '[plugins]':'/home/node/app/plugins':'rw' -v '[config]':'/home/node/app/config':'rw' -v '[data]':'/home/node/app/data':'rw' 'ghcr.io/sillytavern/sillytavern:[version]' ` + +> Note that 8000 is a default listening port. Don't forget to use an appropriate port if you change it in the config. ## 📱 Mobile - Installing via termux