#
リバースプロキシ
注意
このセクションは、OpenAI/Claudeリバースプロキシを指すものではありません。これはHTTP/HTTPSリバースプロキシのみを指します。
Termuxのセットアップが混乱していますか? 所有しているすべてのデバイスでSTを更新およびインストールすることに疲れていますか? チャットとキャラクターの整理が必要ですか? あなたは幸運です。このガイドでは、どこからでも接続でき、AIモデルを実行するために使用するのと同じPC上のボットとチャットできるPC上でSillyTavernをホストする方法を_うまくいけば_カバーします!
警告
このガイドは初心者向けではありません。これは非常に技術的です。
#
事前警告
Windowsユーザー向け
このガイドはWindowsユーザー向けではありません。このガイドに従うには、Linux VMまたはWSL2を使用することをお勧めします。
自分用のドメインを購入し、SillyTavernページ用のCNAMEを設定する必要があります。このガイドはCloudflare自体でこれを行う方法をカバーするため、Cloudflareでドメインを追加または購入することをお勧めします。
#
インストール
#
Linux (ベアメタルSillyTavern)
Linuxの場合、Traefikを介してSillyTavernをリバースプロキシします。_NGINX_や_Caddy_などの他のオプションもありますが、このガイドでは、私たち自身が使用しているTraefikを使用します。
ifconfigまたはルーターからコンピューターのプライベートIPを取得します。ヒント
プライベートIPを静的IPに設定することをお勧めします。静的IPを設定するには、ルーターのマニュアルまたはGoogleを参照してください。
what's my ipをGoogleで検索して、モデムのパブリックIPを取得します。パブリックIPについて
ほとんどの住宅/ホームネットワークは、数か月の使用後に更新される動的IPを使用しています。動的IPがある場合は、DDClientを使用するか、CloudflareダッシュボードでパブリックIPを時々確認して変更することを忘れないでください。
こちらのDockerインストールガイドに従ってDockerをインストールします。
注意
Docker Desktopをインストールしないでください。
- こちらのDockerインストール後ガイドのManage Docker as a non-root userの手順に従います。
Linuxのルートフォルダに移動し、
dockerという名前の新しいフォルダを作成します。cd / sudo mkdir docker && cd dockerchownを実行し、__をLinuxユーザー名に置き換えて、dockerフォルダの権限を設定します。 sudo chown -R <USER>:<USER> ._docker_フォルダ内に
secretsフォルダを作成し、_secrets_内にcloudflareフォルダを作成します。mkdir secrets && mkdir secrets/cloudflare_docker_フォルダ内に
appdataフォルダを作成し、_appdata_内にtraefikフォルダを作成します。その後、appdata/traefikフォルダに入ります。mkdir appdata && mkdir appdata/traefik cd appdata/traefiktouchを使用して_acme.json_ファイルを作成し、その権限を600に設定します。touch acme.json chmod 600 acme.jsonnanoまたは類似のエディタを使用して、_traefik.yml_という名前のファイルを作成し、以下を貼り付けます。テンプレートメールを自分のものに置き換えてから、ファイルを保存します。api: dashboard: true debug: true insecure: true entryPoints: http: address: ":80" http: redirections: entryPoint: to: https scheme: https https: address: ":443" serversTransport: insecureSkipVerify: true providers: docker: endpoint: "unix:///var/run/docker.sock" exposedByDefault: false file: filename: /config.yml watch: true certificatesResolvers: cloudflare: acme: email: YOUR_CLOUDFLARE_EMAL@DOMAIN.com storage: acme.json dnsChallenge: provider: cloudflare #disablePropagationCheck: true # uncomment this if you have issues pulling certificates through cloudflare, By setting this flag to true disables the need to wait for the propagation of the TXT record to all authoritative name servers. resolvers: - "1.1.1.1:53" - "1.0.0.1:53"dockerフォルダに戻ります。cd /dockernanoまたは類似のエディタを使用して、_docker-compose.yaml_という名前のファイルを作成し、以下を貼り付けます。その後、ファイルを保存します。secrets: CF_DNS_API_KEY: file: ./secrets/cloudflare/CF_DNS_API_KEY services: traefik: image: traefik:latest container_name: traefik restart: unless-stopped secrets: - CF_DNS_API_KEY ports: - 80:80 - 443:443 - 8080:8080 environment: CLOUDFLARE_DNS_API_TOKEN_FILE: /run/secrets/CF_DNS_API_KEY CLOUDFLARE_ZONE_API_TOKEN_FILE: /run/secrets/CF_DNS_API_KEY volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./appdata/traefik/traefik.yml:/traefik.yml:ro - ./appdata/traefik/config.yml:/config.yml:ro - ./appdata/traefik/acme.json:/acme.json - /etc/localtime:/etc/localtime:ro networks: internal: driver: bridge- Cloudflareにログインし、ドメインをクリックしてから、Get your API tokenをクリックします。
_Create Token_をクリックしてから_Create Custom Token_をクリックし、トークンに次の権限を与えてください。
トークンの権限
Zone -> DNS -> Edit
Zone -> Zone -> Read
_Continue to summary_をクリックしてから_Create Token_をクリックします。
- 与えられたトークンキーをコピーし、安全な場所に保存します。
secrets/cloudflareにcdし、nanoまたは類似のエディタを使用して、CF_DNS_API_KEYという名前のファイルを作成し、その中にキーを貼り付けます。ドメインページに戻り、DNSに移動します。Add recordを使用して新しいレコードを作成し、以下のような2つの_A_タイプキーを作成します。
PUBLIC_IPを自分のパブリックIPに置き換えてから、_Save_をクリックします。**
CNAME**タイプの別のレコードを作成してから、_Save_をクリックします。Cloudflareダッシュボードに表示される方法の例を次に示します。_appdata/traefik_に
cdし、nanoまたは類似のエディタを使用して、_config.yml_という名前のファイルを作成し、以下を貼り付けます。PRIVATE_IPを取得したプライベートIPに、silly.DOMAIN.comをサブドメインとドメインページの名前に置き換えてから、ファイルを保存します。http: routers: sillytavern: entryPoints: - "https" rule: "Host(`silly.DOMAIN.com`)" middlewares: - https-redirectscheme tls: {} service: sillytavern services: sillytavern: loadBalancer: servers: - url: "http://PRIVATE_IP:8000" passHostHeader: true middlewares: https-redirectscheme: redirectScheme: scheme: https permanent: true次のコマンドを使用してDocker Composeを実行します:
cd /docker docker compose up -dSillyTavernフォルダに移動し、
config.yamlを編集してlistenモードとbasic authenticationを有効にし、whitelistModeを無効にします。listen: yes whitelistMode: false basicAuthMode: trueヒント
覚えられる強力なユーザー名とパスワードにデフォルトのユーザー名とパスワードを変更してください。
または、SillyTavernアカウントをユーザー名とパスワードとして使用するには:
basicAuthMode: true enableUserAccounts: true perUserBasicAuth: trueヒント
perUserBasicAuthを有効にする前に、機能するパスワードを持つ有効なマルチユーザー設定があることを確認してください。
数分待ってから、ST用に作成したドメインページを開きます。最終的には、1つのURLと1つのアカウントだけで、どこからでもSillyTavernを開くことができるはずです。
ヒント
数分後に何も起こらない場合は、Traefikのコンテナログで可能性のあるエラーを確認してください。
- お楽しみください! :D
#
Linux (Docker版SillyTavern)
注意
私たちはDocker上ではなく、bare-metal上でSillyTavernを実行していることに注意してください。これは、STで使用する傾向がある他のDockerコンテナでDockerで行うであろうことの大まかなアイデアです。
- **Linux (Bare-Metal SillyTavern)**のステップ1-11に従います。
- Cloudflareにログインし、ドメインをクリックしてから、Get your API tokenをクリックします。
_Create Token_をクリックしてから_Create Custom Token_をクリックし、トークンに次の権限を与えてください。
トークンの権限
Zone -> DNS -> Edit
Zone -> Zone -> Read
_Continue to summary_をクリックしてから_Create Token_をクリックします。
- 与えられたトークンキーをコピーし、安全な場所に保存します。
secrets/cloudflareにcdし、nanoまたは類似のエディタを使用して、CF_DNS_API_KEYという名前のファイルを作成し、その中にキーを貼り付けます。ドメインページに戻り、DNSに移動します。Add recordを使用して新しいレコードを作成し、以下のような2つの_A_タイプキーを作成します。
PUBLIC_IPを自分のパブリックIPに、例のドメインを自分のドメインに置き換えてから、_Save_をクリックします。**
CNAME**タイプの別のレコードを作成してから、_Save_をクリックします。Cloudflareダッシュボードに表示される方法の例を次に示します。dockerフォルダにSillyTavernをgit cloneします。cd /docker && git clone https://github.com/SillyTavern/SillyTavernnanoまたは類似のエディタを使用して、_docker-compose.yaml_という名前のファイルを作成し、以下を貼り付けます。silly.DOMAIN.comを上記で追加したサブドメインに置き換えてから、ファイルを保存します。secrets: CF_DNS_API_KEY: file: ./secrets/cloudflare/CF_DNS_API_KEY services: traefik: image: traefik:latest container_name: traefik restart: unless-stopped secrets: - CF_DNS_API_KEY ports: - "80:80" - 443:443 - 8080:8080 environment: CLOUDFLARE_DNS_API_TOKEN_FILE: /run/secrets/CF_DNS_API_KEY CLOUDFLARE_ZONE_API_TOKEN_FILE: /run/secrets/CF_DNS_API_KEY volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./appdata/traefik/traefik.yml:/traefik.yml:ro - ./appdata/traefik/config.yml:/config.yml:ro - ./appdata/traefik/acme.json:/acme.json - /etc/localtime:/etc/localtime:ro sillytavern: build: ./SillyTavern container_name: sillytavern hostname: sillytavern image: ghcr.io/sillytavern/sillytavern:latest volumes: - "./appdata/sillytavern/config:/home/node/app/config" - "./appdata/sillytavern/data:/home/node/app/data" restart: unless-stopped labels: - "traefik.enable=true" - "traefik.http.routers.sillytavern.entrypoints=http" - "traefik.http.routers.sillytavern.rule=Host(`silly.DOMAIN.com`)" - "traefik.http.middlewares.sillytavern-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.sillytavern.middlewares=sillytavern-https-redirect" - "traefik.http.routers.sillytavern-secure.entrypoints=https" - "traefik.http.routers.sillytavern-secure.rule=Host(`silly.DOMAIN.com`)" - "traefik.http.routers.sillytavern-secure.tls=true" - "traefik.http.routers.sillytavern-secure.service=sillytavern" - "traefik.http.services.sillytavern.loadbalancer.server.port=8000" networks: internal: driver: bridge次のコマンドを使用してDocker Composeを実行します:
docker compose up -dSillyTavern Dockerコンテナを停止します。
docker compose stop sillytavernSillyTavernフォルダ(
appdata/sillytavern/config)に移動し、config.yamlを編集してlistenモードとbasic authenticationを有効にし、whitelistModeを無効にします。listen: yes whitelistMode: false basicAuthMode: trueヒント
覚えられる強力なユーザー名とパスワードにデフォルトのユーザー名とパスワードを変更してください。
SillyTavern Dockerコンテナを再度起動します。
docker compose up -d sillytavern数分待ってから、ST用に作成したドメインページを開きます。最終的には、1つのURLと1つのアカウントだけで、どこからでもSillyTavernを開くことができるはずです。
ヒント
数分後に何も起こらない場合は、Traefikのコンテナログで可能性のあるエラーを確認してください。
- お楽しみください! :D
#
Cloudflare DNSの更新
DDClientを使用すると、ISPがパブリックIPを変更した場合に、パブリックIPをCloudflareに同期できます。これにより、何も起こらなかったかのようにSTインスタンスに引き続きアクセスできます。