Skip to content

VPS云酒馆部署 ​

温馨提示:

使用电脑操作,不要问手机行不行,这个真不行。

为了避免错误,代码请直接从本文档中复制。

你可以点击代码块右上角直接复制。如:

(鼠标放上去就会显示这个图标啦)


一、服务器购买 ​

请查看VPS购买建议教程中的内容,自行选购VPS服务器。

教程链接:VPS购买建议

二、使用 SSH 工具连接你的 VPS 服务器 ​

使用 SSH工具,可以便捷的连接到你的服务器。

针对小白用户或者自定义需求没有特别高的用户,我推荐使用 XTerminal。

界面友好,操作简单,上传下载服务器上的文件也方便。

1,下载安装 Xterminal ​

你可以通过官方下载地址进行下载(Win和Mac用户都在这里下):

https://www.terminal.icu/

请自行下载安装

安装完成后打开,XTerminal 会提示你设置一个仓库密码,这个你自己随便设置就可以了。

2,配置服务器连接 ​

在软件顶部左侧点击 SSH 图标,选择 + 服务器

按照下方要求和下图所示方式填写:

  • 名称:随便写,如果你有多个服务器,能区分哪个是哪个就行;
  • 地址:填写你服务器的 IP 地址;
  • 端口:保持默认的 22;
  • 验证方式:选密码;
  • 登录用户:root (其他服务器厂商可能不同,具体看厂商的要求);
  • 登录密码:填写你的服务器的密码;
  • 测试连接:测试一下,一般直接就显示成功了;
  • 最后点击创建

忽略下图中的"邮件"。

注意

如果这里你怎么连都连不上,比如一直提示TIMEOUT超时。

你可以在HostVDS后台删除你的服务器,重新建一个,注意换一个地区。

例如美国地区就有两个,这个连接不上就删掉换另一个。(此举动并不会造成额外的扣费)。

连接你的服务器

会显示:

root 是你的用户名,laopobao 这个是我之前设置的主机名。

有些厂商不支持自定义主机名,这里会显示一串乱码一样的,无所谓的,没有影响。


软件右侧提示可以开启监控,我们直接点`开启`,再点`确认`(非必要开启):

稍等一会儿,你就可以看到你服务器的实时信息了。很方便是不是~

接下来,我们就正式进入到:使用命令行操作服务器的环节了。

你只需要直接复制命令,逐步执行(按回车/enter键就是执行)

注意

如果在本教程中复制了命令,但是 Ctrl+V 无法在 XTeminal 中粘贴命令。

那么在 Xterminal 中点击右键,也可以粘贴命令。


3,使用 root 账户 ​

如果你的代码开头原本就显示 root@主机名 这种形式,就不用管这一步

bash
sudo -i

如果需要输入密码,就输入服务商提供给你连接服务器的密码。

你输入密码的时候屏幕不会显示内容,放心输入就行,如果你的密码复杂,直接粘贴也可以的。

输入完成后按回车,代码行开头显示 root@xxxx:~ 就成功了

方便后续操作的一致性,我们统一使用 root 账户进行操作,后续如果你登录后找不到安装的酒馆文件,记得看一下是不是 root 账 户,不是的话执行这条命令即可切换。

4,更新软件库 ​

bash
sudo apt update && sudo apt upgrade -y

如果出现蓝色底带选项的内容,直接按回车,不要修改任何内容。

代码执行完了后会再次显示一行 root@主机名:#$ 的空行,你可以根据此判断命令有没有执行完

(因为有时候命令会执行的比较慢)

(我这个执行的就挺慢的,基本上是和服务器的配置和网络速度有关的)

5,安装常用软件 ​

安装 curl、wget、nano

bash
sudo apt install -y curl wget nano

6,校正系统时间 ​

bash
sudo timedatectl set-timezone Asia/Shanghai

这一步不会返回任何内容

7,查看当前时区 ​

bash
timedatectl

返回中的内容中有:Time zone: Asia/Shanghai (CST, +0800)字样,就是设置成功了。

8,优化性能 ​

bash
bash <(wget -qO- https://raw.githubusercontent.com/jerry048/Tune/main/tune.sh) -t

等待系统参数优化完成

9,增加 Swap 缓存 ​

非常适合内存比较小的 VPS,使用部分硬盘资源来拓展缓存,避免内存占用过高导致的服务直接卡死。

bash
wget -O swap.sh https://raw.githubusercontent.com/yuju520/Script/main/swap.sh && chmod +x swap.sh && clear && ./swap.sh

会提示:

输入数字 1,回车

会提示要输入 swap 数值,建议是内存的 2 倍。

这里的单位是 m,如果你的内存是 512M,就输入 1024,如果你的内存是 1G,就输入 2048,如果你的内存是 2G,就输入 4096,以此类 推。

我的内存是 2G 的,所以我输入 4096,然后回车执行。

基本上瞬间就设置好了,会提示 swap 创建成功。

你也可以查询是否设置成功:

bash
free -m

swap 的 total 中有内容就是成功了。

(没成功也无所谓,非酒馆必要选项)

10,安装 Docker ​

使用一键脚本安装 docker,你也可以到 docker 官网查找安装方式。

这行一键安装脚本来自 1Panel 官网,后续我们也要安装 1Panel 的。

尤其是国内的服务器,建议使用这个脚本安装,免得因为镜像源问题导致安装失败。

bash
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

执行后会让你选择两次安装源,使用键盘上的“↑”、“↓”箭头调整选项,然后回车执行安装。

例如:

我是境外服务器,直接用最下面的官方方式安装。

国内服务器可以选择其他的源(都一样的,放心装)

安装过程中会让你多次选择,全部保持默认,别改,直接按回车。

验证是否安装成功:

bash
docker -v

返回版本号即代表安装成功。例如:Docker version xxx, build xxxxx

设置 docker 开机自启动:

bash
sudo systemctl enable docker

如下图返回就表示成功:


三、部署酒馆 ​

直接运行以下代码下载酒馆:

bash
git clone https://github.com/SillyTavern/SillyTavern.git -b release

耐心等待文件下载完成,如图所示就是完成了。(关注 100% 和 done 字符,而不是关注数字),例如:

这一步如果没成功或者意外断开,只需要再次执行这行代码重新下载即可。

如果提示:-bash: git command not found,这是因为服务器中没有安装 git,安装一下就行。

bash
apt install git

这一步完成后,我们先不着急,先去安装和配置 1Panel。


四、安装 1Panel 面板 ​

通过 1Panel 面板方便的启动、重启酒馆,以及编辑酒馆文件、查看日志等。

1,通过以下代码安装 1Panel ​

bash
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && bash quick_start.sh

2,安装过程配置 ​

在安装过程中,会需要多次进行设置,跟着我一步一步来。

① 首先执行代码后会让你选择语言,我们看到 2 是中文,就输入数字 2,然后按回车

② 设置安装目录,我们保持默认即可,什么都不用改,直接按回车

③ 接下来提示你设置一个端口,这个端口是用来访问 1Panel 面板的,所以设置一个好记的。

例如我设置端口为 10086,那就直接输入数字 10086,然后回车

④ 设置安全入口,这个我们先临时设置一个,后续可以选择关闭。例如我先设置为 admin。记住这一步设置的内容

⑤ 设置面板用户,这里是设置用户名的,随便设置一个你自己的用户名,然后按回车

使用英文或者数字或英文数字组合,不要用中文。

记住这个用户名,后面要用,也可以改

⑥ 设置面板密码,同上,设置一个你自己记得住的密码,然后按回车

使用英文或者数字或英文数字组合,不要用中文。

记住这个密码,后面要用,也可以改

⑦ 安装完成,获取面板地址

安装完成后,会显示你之前设置的信息。

这里的内部地址不是你的面板访问地址!

你的访问地址是http://你的服务器IP:10086/admin

你的服务器 IP 就是你购买服务器时,邮件发给你的那个 IP 地址!也就是你在 Xterminal 中设置登录时候的 IP 地址。


五、在 1Panel 中设置酒馆环境 ​

1,登录 1Panel ​

使用你安全入口访问 1Panel 管理面板。即

http://你的服务器IP:10086/admin

(如果你设置的不是 10086 端口和 admin 安全入口,自行更改就行)

打开后使用用户名和密码登录 1Panel 面板。

勾上同意协议。

2,1Panel 基本设置 ​

2.1 (可选)更改 1panel 用户名和密码 ​

如果你想更改 1Panel 用户名和密码的话,侧边栏面板设置 → 面板,找到面板用户和面板密码,点后面的齿轮小图标设置:

2.2 (可选)更改端口和取消安全入口 ​

如果你不想用之前设置的端口,可以在侧边栏面板设置 → 安全中,找到面板端口,来更改端口。

如果你每次登录 1Panel 不想要在地址后面加"/admin",可以关掉

在侧边栏面板设置 → 安全中,找到安全入口,点击设置。

在打开的页面中,删除安全入口设置中的内容,点击右下角的确认图标(图太长我没截到确认)

之后就可以直接使用 你的服务器IP:10086 来访问你的 1Panel 面板了。

(我目前取消了安全入口的,因为嫌麻烦)

3,设置酒馆 Node 环境 ​

我们来创建一个 Node 环境,酒馆运行必须要依托于 Node 环境

按照下方提示完成设置:

提示

关于下图的信息:

  • ③ 中目录指向酒馆安装目录,因为我们是使用 root 用户操作的,所以点击前面的文件夹图标,先打开 root 文件夹,在勾选 SillyTavern 文件夹就可以了。如果你是使用其他非 root 用户操作的,这里要更换为实际路径;
  • ④ 启动命令下拉选择 start 【node server.js】;
  • ⑤ 应用端口必须设置为 8000;
  • ⑥ 外部访问默认是打开的,必须打开,不然无法访问;
  • ⑧ 国内服务器可以更换淘宝源或腾讯源,避免安装 node 失败,国外服务器不用改;

设置完成后,会显示环境信息:

4,更改配置文件 ​

点击打开酒馆的目录(源码目录下面的文件夹图标)

(之后所有更改配置文件、查看或者替换自己的数据都可以在这里面操作)

找到 config.yaml 文件,直接点击打开

寻找并更改以下内容

(只改冒号后面的部分,冒号后面有个空格)

  • 将 listen: false 更改为 listen: true
  • 将 whitelistMode: true 更改为 whitelistMode: false
  • 将 basicAuthMode: false 更改为 basicAuthMode: true
  • 在 basicAuthUser 中,设置 username(用户名) 和 password(密码),注意要用英文的双引号包裹。

如图:(用户名和密码设置成你自己要用的)

basicAuthUser 中的 username 和 password 之间是英文冒号,不是中文冒号。

注意!!!

补充一条:对于VPS用户而言,请在Config.yaml文件中额外再更改一条配置项目:

  • 将 numberOfBackups: 50 更改为 numberOfBackups: 5

解释:该条目是为每个聊天和设置文件保留的备份数量,默认50,更改为5(为了数据安全,请务必配置教程后面的MINIO备份数据,在第 八部分)

计算:如果你的聊天长度比较长,每个备份30M算,那么这个单个聊天备份的容量就会高达50*30M=1500M(≈1.5GB)

随着你的聊天文件越来越大,备份文件同样会滚雪球越来越大,以VPS孱弱的硬盘容量,很容易撑爆。后果就是你将无法登录你的酒馆。

(5份备份+MINIO的备份,基本丢也丢不了多少的)

更改完成后,点击确定,会弹出一个“更新完成”的提示



六、启动酒馆 ​

点击侧边栏 网站,选择 运行环境,点击 Node.js,找到我们的酒馆项目,在操作中点击 重启。

必要操作

你每次更改完 config.yaml 后,都必须要重启酒馆!否则不生效!

你可以查看日志,点击日志下方的查看。

重要!

你的酒馆的日志,也要在这里进行查看

日志最底部出现以下内容,就代表酒馆启动成功了:

(哪天用着用着太卡了也可以来这里重启试试)

酒馆访问地址: ​

你现在可以在任意设备的浏览器中,使用 你的服务器 IP:8000 来访问酒馆。

提示

如果你有域名,也可以使用Nginx来反向代理该地址,之后即可通过你的域名来访问酒馆。

(冒号是英文字符的冒号)

输入你刚刚在 config.yaml 文件中设置的用户名和密码,然后登录(不需要那个双引号)

好啦!可以畅玩酒馆啦!


七、如何更新酒馆 ​

酒馆的更新非常简单,使用 Xterminal 连接你的服务器。

使用下方这一行代码即可完成更新:

bash
cd ~/SillyTavern && git pull

注意:如果是非 root 用户,且你的酒馆安装在 root 用户下,先使用 sudo -i 命令切换到 root 用户,再执行这行命令。如果是 是非 root 用户,但是安装在当前用户的根目录下,可以直接使用这行命令更新。

更新完成后,进入 1Panel 面板,参考前面的方式,启动/重启你的云酒馆。完成啦!


八、如何备份你的酒馆数据 ​

1Panel 备份酒馆数据非常丝滑,但同时我们需要用到一个第三方的对象存储服务。

请注意,教程中的对象存储服务需要实名认证,介意的话可以跳过本部分内容。

1,注册缤纷云 ​

点击以下链接进入缤纷云:

https://console.bitiful.com/login

点击 注册新账号

根据提示,使用 手机号进行注册

注册成功后将会进入缤纷云的管理后台。

我们需要先完成实名认证(这一步为必须,否则没有存储容量)

(emmm……)

根据要求输入 姓名 和 身份证号 即可完成认证。(不需要扫脸什么的)

2,创建存储桶和获取必要信息 ​

① 点击左侧栏的 对象存储 → 桶列表

② 在桶列表中,点击 创建桶

随便输入一个名字(使用英文),然后点确定

③ 添加子用户

点击左侧栏的 对象存储 → AccessKey

在子用户管理中点击 添加子用户

填写一个子用户名,然后点 确定

点击确定后,会显示 Access Key 和 Secret Key

不要关掉,自己保存好。

④ 保存好你的 Access Key 和 Secret Key

危险操作

这个 Access Key 和 Secret Key 只会显示一次。

请不要关闭这个页面,也不要刷新,否则你将无法再次看到你的 Access Key 和 Secret Key!

请复制好你的 Access Key 和 Secret Key,然后关闭这个页面。

保存好 key 后,点击 设定权限

打开所有权限,然后关闭权限设置的弹窗。

3,在 1Panel 中设置备份账号 ​

3.1 打开备份账号 ​

点击左侧栏的 面板设置

然后点击主页面顶栏的 备份账号

3.2 添加 MINIO 备份账号 ​

① 下滑找到 MINIO 部分,点击 添加 MINIO

② 设置参数

在打开的窗口中填写参数

其中,Endpoint 要选择 https,填写内容为:

bash
s3.bitiful.net

备份目录不用写!

具体设置见图:

Bucket 不要手动输入,必须点获取桶后,下拉框出现你刚刚建好的桶,之后才能正常备份。

全部设置完后右下角点确定。

设置完应该是这样的:

3.3 创建计划任务 ​

① 点击面板左侧 计划任务 ,然后点击 创建计划任务


② 填写计划任务设置

请按照下图指引进行填写。

危险操作

第⑥步,备份账号处,请不要添加 服务器磁盘,这会大量占用你的服务器磁盘空间。

VPS服务器磁盘本身就不大,满了的话直接就炸了。

③ 手动执行一次备份,测试是否成功

在我们设置好的计划任务中,点击 执行

点击执行旁边的 查看报告,就可以看到正在执行备份了。

等待一会儿,执行完成。

(主要看网速,一般一两分钟怎么也执行完了)

4,在缤纷云中查看备份的文件 ​

回到缤纷云(https://console.bitiful.com/)

① 点击左侧栏的 对象存储 → 桶列表

② 点进去我们创建的桶

接着点进去 directory → 备份酒馆数据 文件夹,就可以看到我们刚刚备份的数据了

接下来,1Panel 就会按照你设置的计划任务,每隔 6 个小时就全自动备份一次你的酒馆数据。

最多保存 20 份。

注意

缤纷云账户免费可用空间为:50G

每天免费可用流量为:5G

所以建议不要装一堆备份插件,把自己的酒馆目录搞的很大,这样也不好备份 0.0

(因为 VPS 本身就有磁盘,数据一般不会丢失的,所以用这个再备份一下,数据基本就很安全啦)


九、如何同步其他酒馆数据到 VPS 云酒馆 ​

1,本地酒馆数据同步至 VPS ​

1.1 获取酒馆数据 ​

打开你现在的酒馆,通过下图方式备份数据(将会是一个 ZIP 格式的压缩包)

不需要解压这个文件!将压缩包名字重命名为 data.zip

(重命名的原因是为了之后的操作方便你能找到文件和理解)

1.2 打开你的 1Panel 文件管理 ​

打开 1Panel 面板,在 侧边栏 选择 系统 → 文件

将会打开文件管理页面。

如果你是使用 root 用户部署的 1panel 和酒馆……

依次打开 root → SillyTavern 文件夹

这个路径:

1.3 上传你的 data.zip 文件 ​

点击 上传

在打开的右侧窗口中,点击 上传文件

上传你的数据文件 data.zip ,然后 点击右下角的 确认

等待一下就上传成功了。

1.4 解压文件 ​

我们先创建一个临时的文件夹,方便操作。

点击 创建 → 文件夹

我们先创建一个名字叫 linshi 的文件夹

点击右下角的 确认 ,就创建好了

接下来,我们在当前目录中找到我们上传的 data.zip 文件,点击打开

在打开的右侧窗口中,点击 解压路径下面的 小文件夹图标 ,勾选刚刚创建的 linshi 文件夹,然后点 确认

1.5 覆盖现有数据 ​

① 打开 linshi 文件夹

点击最上面 名称 旁边的勾选框,勾选,就全选了文件夹中的所有内容

② 移动并覆盖数据

点击 移动

点击路径中的 SillyTavern,可以回到 SillyTavern 文件夹

在 SillyTavern 文件夹中再逐一打开:data → default-user

路径如:

在 default-user 文件夹中点击 粘贴 (数字不用管)

在弹出的窗口中,确认路径没错,其他内容不要进行修改,直接在右下方点击 确认

小弹窗出现 “移动成功”,就完成数据替换了。

回到你的 VPS 酒馆,刷新页面,应该可以看到迁移好的完整数据。

(如果确认操作无误,但是数据没有同步过来,那么请去尝试重启你的酒馆)

2,HuggingFace 酒馆数据同步至 VPS ​

如果你的 HF云酒馆还可以正常访问,那就和普通酒馆一样导出数据。用前面的方法。

如果你是 HF云酒馆,且 HF云酒馆已经无法访问……

2.1,获取 Dataset 中备份的数据 ​

① 登录你的 Hugging Face 账号

打开 Hugging Face,登录你的 Hugging Face 账号。登录地址为:

https://huggingface.co/


② 点击右上角头像,再点击ID


③ 在打开的页面中,找到自己的Dataset,如图:点击打开

④ 在打开的页面中点击 Files and versions

⑤ 下载文件中的最后一个数据

我这个没怎么用,你的数据可能大得多,是正常的。

【这里没数据的话,和之前的酒馆告别吧,重新部署】

你将得到一个.tar.gz 格式的压缩包,例如 default-user-2025xxxxx.tar.gz

不要解压这个文件!将压缩包名字重命名为data.tar.gz

(为了后面你的操作更加方便)

2.2 打开你的 1Panel 文件管理 ​

打开 1Panel 面板,在 侧边栏 选择 系统 → 文件

将会打开文件管理页面。

如果你是使用 root 用户部署的 1panel 和酒馆……

依次打开 root → SillyTavern 文件夹

这个路径:

1.3 上传你的 data.tar.gz 文件 ​

点击 上传

在打开的右侧窗口中,点击 上传文件

上传你的数据文件 data.tar.gz ,然后 点击右下角的 确认

等待一下就上传成功了。

1.4 解压文件 ​

我们先创建一个临时的文件夹,方便操作。

点击 创建 → 文件夹

我们先创建一个名字叫 linshi 的文件夹

点击右下角的 确认 ,就创建好了

接下来,我们在当前目录中找到我们上传的 data.tar.gz 文件,点击打开

在打开的右侧窗口中,点击 解压路径下面的 小文件夹图标 ,勾选刚刚创建的 linshi 文件夹 ,然后点 确认

1.5 覆盖现有数据 ​

① 打开 linshi 文件夹

点击最上面 名称 旁边的勾选框,勾选,就全选了文件夹中的所有内容

你也可以只勾选 default-user 文件夹


② 移动并覆盖数据

点击 移动

点击路径中的 SillyTavern,可以回到 SillyTavern 文件夹

在 SillyTavern 文件夹中再打开 data 文件夹 ,路径如:

在 data 文件夹中点击 粘贴 (数字不用管,我用的其他文件演示的)

在弹出的窗口中,确认路径没错,其他内容不要进行修改,直接在右下方点击 确认

小弹窗出现 “移动成功”,就完成数据替换了。

回到你的 VSP 酒馆,刷新页面,应该可以看到迁移好的完整数据。

(如果确认操作无误,但是数据没有同步过来,那么请去尝试重启你的酒馆)

十、拓展内容 ​

1,多用户酒馆开启方式 ​

如果你想要开启多用户酒馆……和你的小伙伴一起使用:

请按照以下步骤逐一操作。不可跳过步骤

请注意

请注意:多用户云酒馆可能无法通过部分老师的角色卡审核群验证。

本教程仅分享技术操作,请遵守写卡老师的要求和规定。

  • 你需要先在 config.yaml 中将 enableUserAccounts: false 改为 enableUserAccounts: true

  • 【必须】重启你的云酒馆,进入酒馆后,打开管理员面板,给自己的默认用户(default-user)设置一个密码,如图:

    • 【必要】给自己的默认用户设置一个密码是必要的
    • 设置密码的时候不要输错!设置密码的时候不要输错!设置密码的时候不要输错!
    • 先别急创建新用户,我们等下再设置。

  • 设置完成后,继续回去更改 config.yaml

    • 将 basicAuthMode: true 更改为 basicAuthMode: false
    • 将 enableDiscreetLogin: false 更改为 enableDiscreetLogin: true
  • 再次回去重启你的云酒馆。

  • 再次打开酒馆后,你就会发现弹出一个登录界面,你的用户名是 default-user,密码是你刚刚在酒馆内设置管理员密 码。点击 Login 登录。

  • 登录进去后,再次打开管理员面板添加一个新用户,这个用户我们作为自己使用的用户。

    • 如果你觉得就用 default-user 登录也行的话,也可以,更好。
    • 设置密码的时候不要输错!设置密码的时候不要输错!设置密码的时候不要输错!

  • 同样的方式,我们再创建一个新用户,给自己的朋友用。

    • 例如我再创建一个 xiaobai 的用户,并且为他设置好密码(他后面可以自己改的)。
  • 最后查看一下我们的所有用户:

    • 黄色框选内容为每个用户登录时候的用户名;
    • 蓝色框处 Admin 代表管理员,User 代表普通用户。Admin 可以打开管理员面板,更改用户信息或创建新用户,而 User 不能。
    • 红色框处的箭头是更改身份的,↑ 是设置为管理员,↓ 是设置为普通用户。(不要更改 default-user 的身份)
  • 为了以后偷懒方便登录,我们将刚刚创建,打算自己用的用户(例如我演示用的 yonghuming),设置为管理员用户,即点击 ↑ ,然 后查看对应的身份有没有改变。

  • 给朋友的账户,就保持 User 吧,不要轻易开放管理员权限。

  • 登出当前的用户,然后用你新的管理员账户登录使用吧。

  • 你也可以测试一下给朋友用的账户有没有问题,确认没有问题就发给朋友用吧

享受你/你们的云酒馆!

教程结束