#
Instalação via Docker
Estas instruções assumem que você instalou o Docker, consegue acessar sua linha de comando para a instalação de containers e está familiarizado com sua operação geral.
#
Usando o GitHub Container Registry
Usar uma imagem pré-construída é a maneira mais rápida e fácil de começar com o SillyTavern no Docker. Você pode obter a imagem mais recente do GitHub Container Registry.
#
Docker Compose (recomendado)
Baixe o arquivo docker-compose.yml do Repositório GitHub e execute o seguinte comando no diretório onde o arquivo está localizado. Isso obterá a imagem de lançamento mais recente do GitHub Container Registry e iniciará o container, criando automaticamente os volumes necessários.
docker compose up
Você pode editar o arquivo e aplicar personalização adicional para atender suas necessidades:
- A porta padrão é 8000. Você pode alterá-la modificando a seção
ports. - Altere a tag
imageparastagingse quiser usar a branch de desenvolvimento em vez da release estável. - Se quiser ajustar a configuração do servidor usando variáveis de ambiente, consulte a página Variáveis de Ambiente.
#
Docker CLI (avançado)
Você precisará de dois mapeamentos de diretório obrigatórios e um mapeamento de porta para permitir que o SillyTavern funcione. No comando, substitua suas seleções nos seguintes lugares:
#
Variáveis do Container
#
Mapeamentos de Volume
CONFIG_PATH- O diretório onde os arquivos de configuração do SillyTavern serão armazenados em sua máquina hostDATA_PATH- O diretório onde os dados do usuário do SillyTavern (incluindo personagens) serão armazenados em sua máquina hostPLUGINS_PATH- (opcional) O diretório onde os plugins do servidor SillyTavern serão armazenados em sua máquina hostEXTENSIONS_PATH- (opcional) O diretório onde as extensões globais da UI serão armazenadas em sua máquina host
#
Mapeamentos de Porta
PUBLIC_PORT- A porta para expor o tráfego. Isso é obrigatório, pois você estará acessando a instância de fora de seu container de máquina virtual. NÃO exponha isso à internet sem implementar um serviço separado para segurança.
#
Configurações Adicionais
SILLYTAVERN_VERSION- Na página do GitHub Packages você verá a lista de versões de imagem marcadas. A tag de imagem "latest" manterá você atualizado com a release atual. Você também pode utilizar "staging" que aponta para a imagem noturna da respectiva branch.
#
Executando o container
- Abra sua Linha de Comando
- Execute o seguinte comando em uma pasta onde você deseja armazenar os arquivos de configuração e dados:
SILLYTAVERN_VERSION="latest"
PUBLIC_PORT="8000"
CONFIG_PATH="./config"
DATA_PATH="./data"
PLUGINS_PATH="./plugins"
EXTENSIONS_PATH="./extensions"
docker run \
--name="sillytavern" \
-p "$PUBLIC_PORT:8000/tcp" \
-v "$CONFIG_PATH:/home/node/app/config:rw" \
-v "$DATA_PATH:/home/node/app/data:rw" \
-v "$EXTENSIONS_PATH:/home/node/app/public/scripts/extensions/third-party:rw" \
-v "$PLUGINS_PATH:/home/node/app/plugins:rw" \
ghcr.io/sillytavern/sillytavern:"$SILLYTAVERN_VERSION"
Por padrão, o container será executado em primeiro plano. Se você quiser executá-lo em segundo plano, adicione a flag -d ao comando docker run.
#
Construindo a Imagem Docker
A seção a seguir assume que você instalou o SillyTavern em uma pasta não-root (não-admin). Se você instalou o SillyTavern em uma pasta root, pode ter que executar alguns desses comandos com direitos de administrador [sudo, doas, Command Prompt (Administrator)].
Se você quiser construir a imagem Docker você mesmo, pode fazê-lo seguindo estes passos. Isso é útil se você quiser personalizar a imagem ou usá-la para fins de desenvolvimento.
#
Linux
Instale o Docker seguindo o guia de instalação do Docker aqui.
Não instale o Docker Desktop.
- Siga os passos em Manage Docker as a non-root user no Guia de Pós-Instalação do Docker.
- Instale o Git usando seu gerenciador de pacotes.
Debian (Ubuntu/Pop! OS/etc.)
sudo apt install gitArch Linux (Manjaro/EndeavourOS/etc.)
sudo pacman -S gitFedora, Red Hat Enterprise Linux (RHEL), etc.
sudo dnf install git
- Clone o repositório SillyTavern.
Release (Branch Estável)
git clone https://github.com/SillyTavern/SillyTavern && cd SillyTavern/dockerStaging (Branch de Desenvolvimento)
git clone https://github.com/SillyTavern/SillyTavern -b staging && cd SillyTavern/docker
Execute
docker composeexecutando o seguinte comando dentro da pasta Docker.docker compose up -d- Abra um novo navegador e vá para http://localhost:8000. Você deve ver o SillyTavern carregar em alguns momentos.
#
Windows
Sobre Docker no Windows
Usar Docker no Windows é realmente complicado. Você não só precisa ativar o Windows Subsystem for Linux dentro de Turn Windows features on or off, mas também configurar seu sistema para Virtualização (Intel VT-d/AMD SVM) que difere de fabricante de PC para fabricante de PC (ou fabricante de placa-mãe). Às vezes, esta opção não está presente em alguns sistemas.
É altamente sugerido que você instale o SillyTavern seguindo nosso guia de Windows. Esta seção é uma ideia aproximada de como isso pode ser feito no Windows.
- Instale o Docker Desktop seguindo o guia de instalação do Docker aqui.
- Instale o Git for Windows.
- Clone o repositório SillyTavern.
Release (Branch Estável)
git clone https://github.com/SillyTavern/SillyTavern && cd SillyTavern/dockerStaging (Branch de Desenvolvimento)
git clone https://github.com/SillyTavern/SillyTavern -b staging && cd SillyTavern/docker
Execute
docker composeexecutando o seguinte comando dentro da pasta Docker.docker compose up -d- Abra um novo navegador e vá para http://localhost:8000. Você deve ver o SillyTavern carregar em alguns momentos.
#
macOS
Embora o macOS seja similar ao Linux, ele não possui o Docker Engine. Você terá que instalar o Docker Desktop de forma similar ao Windows. Você também precisará instalar o Homebrew para poder instalar o Git em seu Mac. Esta seção é uma ideia aproximada de como isso pode ser feito no macOS.
- Instale o Docker Desktop seguindo o guia de instalação do Docker aqui.
Instale o
gitusando o Homebrew.brew install git- Clone o repositório SillyTavern.
Release (Branch Estável)
git clone https://github.com/SillyTavern/SillyTavern && cd SillyTavern/dockerStaging (Branch de Desenvolvimento)
git clone https://github.com/SillyTavern/SillyTavern -b staging && cd SillyTavern/docker
Execute
docker composeexecutando o seguinte comando dentro da pasta Docker.docker compose up -d- Abra um novo navegador e vá para http://localhost:8000. Você deve ver o SillyTavern carregar em alguns momentos.
#
Configurando o SillyTavern
O arquivo de configuração do SillyTavern (config.yaml) estará localizado dentro da pasta config. Configurar o arquivo de configuração não deve ser diferente de configurá-lo sem Docker, no entanto você precisará executar o nano ou um editor de código com direitos de administrador para salvar suas alterações.
Não esqueça de reiniciar o container Docker para o SillyTavern para aplicar suas alterações! Certifique-se de executar este comando dentro da pasta docker.
docker compose restart sillytavern
#
Localizando Dados do Usuário
A pasta de dados do SillyTavern estará dentro da pasta data. Fazer backup de seus arquivos deve ser fácil de fazer, no entanto, restaurar ou adicionar conteúdo a ela pode exigir que você faça isso com direitos de administrador.
#
Executando Plugins do Servidor
Executar plugins como HoYoWiki-Scraper-TS ou SillyTavern-Fandom-Scraper dentro do Docker não é diferente de executá-lo em seu sistema sem Docker, no entanto precisaremos fazer uma pequena modificação no script Docker Compose para fazer isso.
Note
Se você já vê uma pasta plugins dentro da pasta docker, você pode pular os Passos 1-2.
Usando
nanoou um editor de código, abra docker-compose.yml e adicione a seguinte linha abaixo devolumes.volumes: - "./config:/home/node/app/config" - "./data:/home/node/app/data" - "./plugins:/home/node/app/plugins"- Crie uma nova pasta dentro da pasta
dockerchamada plugins. - Siga as instruções do seu plugin sobre como instalar o plugin.
Usando
nanoou um editor de código com direitos de administrador, abra config.yaml (dentro da pastaconfig) e habiliteenableServerPluginsenableServerPlugins: trueReinicie o container Docker.
docker compose restart sillytavern
#
Problemas comuns com Docker
#
Problemas de Permissão SELinux com Volumes Montados
Distribuições Linux com SELinux habilitado (como RHEL, CentOS, Fedora, etc.) podem impedir que containers Docker acessem volumes montados devido a políticas de segurança. Isso pode resultar em erros de permissão negada quando o container tenta ler ou escrever nos diretórios montados.
Dois sufixos :z ou :Z podem ser adicionados ao mount de volume. Esses sufixos informam ao Docker para re-rotular objetos de arquivo nos volumes compartilhados.
- A opção
zé usada quando o conteúdo do volume será compartilhado entre containers. - A opção
Zé usada quando o conteúdo do volume deve ser usado apenas pelo container atual.
Exemplo:
# docker-compose.yml
volumes:
## Volume compartilhado
- ./config:/home/node/app/config:z
## Volume privado
- ./data:/home/node/app/data:Z
#
Forbidden by Whitelist
IPs de gateway do Docker devem ser colocados na whitelist automaticamente se o valor de configuração whitelistDockerHosts estiver definido como true.
Se você ainda não conseguir acessar o SillyTavern, siga as instruções abaixo para atualizar a whitelist manualmente.
Execute o seguinte comando Docker para obter o IP do seu container Docker do SillyTavern.
docker network inspect docker_defaultVocê deve receber uma saída similar à seguinte abaixo.
[ { "Name": "docker_default", "IPAM": { "Config": [ { "Subnet": "172.18.0.0/16", "Gateway": "172.18.0.1" } ] } } ]Copie o IP que você vê em Gateway pois isso será importante.
Executando um editor de texto de sua escolha com direitos de administrador, vá para
confige abraconfig.yaml.Dentro do seu editor, vá até a seção
whitelist. Você deve ver algo similar ao seguinte abaixo.whitelist: - 127.0.0.1Adicione uma nova linha abaixo de 127.0.0.1 e coloque o IP que você copiou do Docker. Deve parecer algo similar ao seguinte depois.
whitelist: - 127.0.0.1 - 172.18.0.1Salve o arquivo e saia do editor de texto.
Note que se você configurou a rede Docker como bridge, você também pode adicionar endereços IP externos à whitelist normalmente.
Reinicie o Container Docker para aplicar a nova configuração.
docker compose restart sillytavern