#
Dockerインストール
この手順は、Dockerがインストールされており、コンテナのインストールのためにコマンドラインにアクセスでき、その一般的な操作に精通していることを前提としています。
#
GitHub Container Registryの使用
ビルド済みイメージを使用することが、DockerでSillyTavernを始める最速かつ最も簡単な方法です。GitHub Container Registryから最新のイメージをpullできます。
#
Docker Compose (推奨)
GitHubリポジトリからdocker-compose.ymlファイルをダウンロードし、ファイルが配置されているディレクトリで次のコマンドを実行します。これにより、GitHub Container Registryから最新のreleaseイメージがpullされ、コンテナが起動し、必要なボリュームが自動的に作成されます。
docker compose up
ファイルを編集して、ニーズに合わせて追加のカスタマイズを適用できます:
- デフォルトのポートは8000です。
portsセクションを変更することで変更できます。 - 安定版releaseの代わりに開発ブランチを使用したい場合は、
imageタグをstagingに変更します。 - 環境変数を使用してサーバー設定を調整したい場合は、Environment Variablesページを確認してください。
#
Docker CLI (上級者向け)
SillyTavernを機能させるには、2つの必須ディレクトリマッピングと1つのポートマッピングが必要です。コマンドで、次の場所で選択したものを置き換えます:
#
コンテナ変数
#
ボリュームマッピング
CONFIG_PATH- ホストマシン上でSillyTavern設定ファイルが保存されるディレクトリDATA_PATH- ホストマシン上でSillyTavernユーザーデータ(キャラクターを含む)が保存されるディレクトリPLUGINS_PATH- (オプション)ホストマシン上でSillyTavernサーバープラグインが保存されるディレクトリEXTENSIONS_PATH- (オプション)ホストマシン上でグローバルUI extensionsが保存されるディレクトリ
#
ポートマッピング
PUBLIC_PORT- トラフィックを公開するポート。これは、仮想マシンコンテナの外部からインスタンスにアクセスするため必須です。セキュリティのための別のサービスを実装せずに、これをインターネットに公開しないでください。
#
追加設定
SILLYTAVERN_VERSION- GitHub Packagesページで、タグ付きイメージバージョンのリストを確認できます。イメージタグ"latest"は、現在のreleaseで最新の状態を保ちます。それぞれのブランチのnightlyイメージを指す"staging"も利用できます。
#
コンテナの実行
- コマンドラインを開きます
- 設定ファイルとデータファイルを保存したいフォルダで、次のコマンドを実行します:
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"
デフォルトでは、コンテナはフォアグラウンドで実行されます。バックグラウンドで実行したい場合は、docker runコマンドに-dフラグを追加してください。
#
Dockerイメージのビルド
次のセクションでは、非root(非管理者)フォルダにSillyTavernをインストールしたことを前提としています。rootフォルダにSillyTavernをインストールした場合、これらのコマンドの一部を管理者権限[sudo、doas、Command Prompt (Administrator)]で実行する必要がある場合があります。
Dockerイメージを自分でビルドしたい場合は、次の手順に従ってください。これは、イメージをカスタマイズしたり、開発目的で使用したりする場合に便利です。
#
Linux
こちらのDockerインストールガイドに従ってDockerをインストールします。
Docker Desktopをインストールしないでください。
- DockerのPost-Installation GuideのManage Docker as a non-root userの手順に従ってください。
- パッケージマネージャーを使用してGitをインストールします。
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
- SillyTavernリポジトリをcloneします。
Release (Stable Branch)
git clone https://github.com/SillyTavern/SillyTavern && cd SillyTavern/dockerStaging (Development Branch)
git clone https://github.com/SillyTavern/SillyTavern -b staging && cd SillyTavern/docker
Dockerフォルダ内で次のコマンドを実行して
docker composeを実行します。docker compose up -d- 新しいブラウザを開いてhttp://localhost:8000にアクセスします。数秒でSillyTavernが読み込まれるはずです。
#
Windows
Regarding Docker on Windows
WindowsでDockerを使用することは**本当に**複雑です。_Turn Windows features on or off_内で_Windows Subsystem for Linux_を有効にするだけでなく、Virtualization(Intel VT-d/AMD SVM)のためにシステムを構成する必要があり、これはPCメーカーごと(またはマザーボードメーカーごと)に異なります。場合によっては、一部のシステムでこのオプションが存在しないことがあります。
Windowsガイドに従ってSillyTavernをインストールすることを強くお勧めします。このセクションは、Windowsでどのように実行できるかの_おおまかな_アイデアです。
- こちらのDockerインストールガイドに従ってDocker Desktopをインストールします。
- Git for Windowsをインストールします。
- SillyTavernリポジトリをcloneします。
Release (Stable Branch)
git clone https://github.com/SillyTavern/SillyTavern && cd SillyTavern/dockerStaging (Development Branch)
git clone https://github.com/SillyTavern/SillyTavern -b staging && cd SillyTavern/docker
Dockerフォルダ内で次のコマンドを実行して
docker composeを実行します。docker compose up -d- 新しいブラウザを開いてhttp://localhost:8000にアクセスします。数秒でSillyTavernが読み込まれるはずです。
#
macOS
macOSはLinuxに似ていますが、Docker Engineがありません。Windowsと同様にDocker Desktopをインストールする必要があります。 MacにGitをインストールするには、Homebrewもインストールする必要があります。このセクションは、macOSでどのように実行できるかの_おおまかな_アイデアです。
- こちらのDockerインストールガイドに従ってDocker Desktopをインストールします。
Homebrewを使用して
gitをインストールします。brew install git- SillyTavernリポジトリをcloneします。
Release (Stable Branch)
git clone https://github.com/SillyTavern/SillyTavern && cd SillyTavern/dockerStaging (Development Branch)
git clone https://github.com/SillyTavern/SillyTavern -b staging && cd SillyTavern/docker
Dockerフォルダ内で次のコマンドを実行して
docker composeを実行します。docker compose up -d- 新しいブラウザを開いてhttp://localhost:8000にアクセスします。数秒でSillyTavernが読み込まれるはずです。
#
SillyTavernの設定
SillyTavernの設定ファイル(config.yaml)は、configフォルダ内にあります。configファイルの設定は、Dockerなしで設定する場合と変わりありませんが、変更を保存するには、管理者権限でnanoまたはコードエディタを実行する必要があります。
変更を適用するために、SillyTavern用のDockerコンテナを忘れずに再起動してください!dockerフォルダ内でこのコマンドを実行してください。
docker compose restart sillytavern
#
ユーザーデータの場所
SillyTavernのdataフォルダは、dataフォルダ内にあります。ファイルのバックアップは簡単に行えますが、復元またはコンテンツの追加には、管理者権限で行う必要がある場合があります。
#
サーバープラグインの実行
HoYoWiki-Scraper-TSやSillyTavern-Fandom-ScraperのようなpluginsをDocker内で実行することは、Dockerなしでシステムで実行する場合と変わりありませんが、そのためにはDocker Composeスクリプトにわずかな変更を加える必要があります。
Note
dockerフォルダ内に既に_plugins_フォルダが表示されている場合は、ステップ1-2をスキップできます。
nanoまたはコードエディタを使用して、_docker-compose.yml_を開き、volumesの下に次の行を追加します。volumes: - "./config:/home/node/app/config" - "./data:/home/node/app/data" - "./plugins:/home/node/app/plugins"dockerフォルダ内に_plugins_という新しいフォルダを作成します。- pluginのインストール手順に従ってください。
nanoまたは管理者権限のコードエディタを使用して、config.yaml(configフォルダ内)を開き、enableServerPluginsを有効にしますenableServerPlugins: trueDockerコンテナを再起動します。
docker compose restart sillytavern
#
Dockerの一般的な問題
#
マウントされたボリュームでのSELinux権限の問題
SELinuxが有効なLinuxディストリビューション(RHEL、CentOS、Fedoraなど)では、セキュリティポリシーのため、Dockerコンテナがマウントされたボリュームにアクセスできない場合があります。これにより、コンテナがマウントされたディレクトリへの読み取りまたは書き込みを試みるときに、permission deniedエラーが発生する可能性があります。
ボリュームマウントに:zまたは:Zの2つのサフィックスを追加できます。これらのサフィックスは、共有ボリューム上のファイルオブジェクトを再ラベル付けするようDockerに指示します。
zオプションは、ボリュームコンテンツがコンテナ間で共有される場合に使用されます。Zオプションは、ボリュームコンテンツが現在のコンテナでのみ使用される場合に使用されます。
例:
# docker-compose.yml
volumes:
## Shared volume
- ./config:/home/node/app/config:z
## Private volume
- ./data:/home/node/app/data:Z
#
ホワイトリストによる禁止
whitelistDockerHosts設定値がtrueに設定されている場合、Docker gateway IPsは自動的にホワイトリストに登録されるはずです。
それでもSillyTavernにアクセスできない場合は、以下の手順に従って手動でホワイトリストを更新してください。
次のDockerコマンドを実行して、SillyTavern DockerコンテナのIPを取得します。
docker network inspect docker_default次のような出力が表示されるはずです。
[ { "Name": "docker_default", "IPAM": { "Config": [ { "Subnet": "172.18.0.0/16", "Gateway": "172.18.0.1" } ] } } ]_Gateway_に表示されているIPをコピーしてください。これは重要です。
管理者権限でお好みのテキストエディタを実行し、
configに移動してconfig.yamlを開きます。エディタ内で、
whitelistセクションまで下にスクロールします。次のようなものが表示されるはずです。whitelist: - 127.0.0.1_127.0.0.1_の下に新しい行を追加し、DockerからコピーしたIPを入力します。その後、次のようになるはずです。
whitelist: - 127.0.0.1 - 172.18.0.1ファイルを保存してテキストエディタを終了します。
Dockerネットワークをbridgeとして設定した場合、通常どおり外部IPアドレスをホワイトリストに追加することもできます。
Dockerコンテナを再起動して、新しい設定を適用します。
docker compose restart sillytavern