飞牛OS通过docker部署SillyTavern酒馆

一、下载

  1. 在飞牛 Docker -> 镜像仓库 中搜索 SillyTavern 下载镜像。

    镜像仓库中没有官方的 SillyTavern 镜像,下载有最多下载数的镜像即可,我使用 goolashe/sillytavern:stable

  2. 前往 GitHub - SillyTavern/SillyTavern 下载压缩包,上传到飞牛主机中解压。

二、配置

1. 配置 docker-compose.yml

进入 SillyTavern/docker 文件夹下,修改 docker-compose.yml

services:
  sillytavern:
    build: ..
    container_name: sillytavern
    hostname: sillytavern
    # 改用镜像仓库中下载的镜像
    image: goolashe/sillytavern:stable
    # 修改网络为 bridge 模式
    network_mode: bridge
    environment:
      - NODE_ENV=production
      - FORCE_COLOR=1
    ports:
      - "8888:8000"
    volumes:
      - "./config:/home/node/app/config"
      - "./data:/home/node/app/data"
      - "./plugins:/home/node/app/plugins"
      - "./extensions:/home/node/app/public/scripts/extensions/third-party"
      # 后续配置 HTTPS 时使用
      - "./certs:/home/node/app/certs"
    # 修改重启选项为always
    restart: always

当使用重启选项的默认设置 restart: unless-stopped ,会导致飞牛主机重启时SillyTavern的docker容器启动报错:“容器错误退出(255)”。

2. 配置 Compose 项目:SillyTavern

新建项目并构建。

备注
项目名称 SillyTavern
路径 /vol1/1000/....../SillyTavern/docker 选择 SillyTavern/docker 文件夹,并使用现有项目。

3. 配置 config.yaml

选择 SillyTavern/docker/config 文件夹,打开 config.yaml 修改配置。

# listen默认设置为false,不影响docker端口映射和外部访问
listen: false

# 启用ipv4、ipv6监听
protocol:
    ipv4、: true
    ipv6: true
dnsPreferIPv6: true

# 启用ssl,将证书文件和密钥文件存放于 `SillyTavern/docker/certs` 文件下
ssl:
  enabled: true
  certPath: "./certs/<www.example.com>.pem"
  keyPath: "./certs/<www.example.com>.key"
  keyPassphrase: ""
  
# 启用白名单,除了白名单外的一律不允许
whitelistMode: true
# 识别验证网络请求的 X-Forwarded-For / X-Real-IP headers
enableForwardedWhitelist: true
whitelist:
  - ::1
  - 127.0.0.1
  # 172.17.0.0/16 为 docker 的 bridge 网段,后续外部访问可通过 Nginx 转发实现。
  # Nginx 的 docker 容器也设置为 bridge 网络模式即可,也处于 172.17.0.0/16 网段。
  - 172.17.0.0/16
  # 方便局域网访问
  - 192.168.1.0/24
  
# 启用基础验证
basicAuthMode: true
basicAuthUser:
  username: "user"
  password: "password"

enableCorsProxy: true

# 允许 Nginx (域名匹配*.example.com)反向代理
hostWhitelist:
  enabled: true
  scan: true
  hosts:
    - .example.com

如无需 Nginx 转发并设置所有 IPv4、IPv6 可访问,修改:

whitelistMode: true
enableForwardedWhitelist: true
whitelist:
  - ::1
  - 127.0.0.1
  # 允许所有 IPv4
  - 0.0.0.0/0
  # 允许所有 IPv6
  - ::/0
  
hostWhitelist:
  enabled: true
  scan: true
  hosts: []

三、导入预算和正则

文字参考: 艾萝工坊 Silly Tavern(AI酒馆) 使用帮助 – 艾萝工坊

视频参考: 飞牛上用docker部署SillyTavern酒馆_bilibili

四、设置 API连接

通过 连接 测试状态,状态灯为 绿色,Valid 即 API 可连接。

通过 发送测试消息 ,可检验是否进行聊天。

1. DeepSeek

备注
API连接配置 deepseek deepseek-chat - 夏瑾 Pro - Beta 0.70
API 聊天补全
聊天补全来源 DeepSeek
反向代理 不设置
DeepSeek API 密钥 导入官方密钥
DeepSeek 模型 deepseek-chat
提示词后处理 严格(强制对话角色交替、用户最先)

2. 硅基流动

备注
API连接配置 硅基流动 deepseek-ai/DeepSeek-R1 - 夏瑾 Pro - Beta 0.70
API 聊天补全
聊天补全来源 自定义(兼容 OpenAI)
自定义(兼容 OpenAI) https://api.siliconflow.cn/v1
自定义 API 密钥 导入官方密钥
输入模型名 deepseek-ai/DeepSeek-R1
可用模型 deepseek-ai/DeepSeek-R1
提示词后处理 严格(强制对话角色交替、用户最先)

各类模型效果可自行测试

五、导入角色卡/世界书

文字参考: 艾萝工坊 Silly Tavern(AI酒馆) 使用帮助 – 艾萝工坊

posted @ 2025-10-23 20:38  Yogile  阅读(17)  评论(0)    收藏  举报