教程前言
Tabby 作为一个跨平台的 多功能 SSH 终端,在其 Web 版中提供了配置同步的功能。本文介绍用 podman 搭建 Tabby Web 及使用 Tabby 内建的配置同步功能。
在此之前,我尝试过使用 Nextcloud 来同步配置文件目录,后来改用插件 Setting Sync。长期以来该插件工作并不是很稳定,常有提示无法同步的情况。
而 Tabby 内建的同步服务使用起来则稳定许多,还支持多套配置 (profile) 的同步与切换。内建的同步功能需要连接一个 Tabby Web 实例,用 Github 等账户授权登录后获得同步密钥。如果你有信任的人拥有一个 Tabby Web 实例,你可直接借用。
创建应用
- 前往Github OAuth Apps新建一个应用程序
- 回调地址填写
https://你的域名/api/1/auth/social/complete/github/
- 保存
Client ID
和Client Secret
创建容器
version: '3.0'
services:
tabby-web:
image: ghcr.io/eugeny/tabby-web:latest
container_name: tabby-web
restart: unless-stopped
ports:
- "1090:9000"
volumes:
- /www/wwwroot/tabby-web:/data
environment:
- DATABASE_URL=sqlite:////data/db.sqlite3
- DEBUG=False
- PORT=9000
- APP_DIST_STORAGE=file:///data
- SOCIAL_AUTH_GITHUB_KEY="***********************"
- SOCIAL_AUTH_GITHUB_SECRET="**********************************"
logging:
driver: "json-file"
options:
max-size: "5m"
max-file: "5"
设置版本
从 https://registry.npmjs.org/tabby-web-container/ 中找一个较新的版本号:
docker exec -it tabby-web /bin/sh ./manage.sh add_version 1.0.163
配置同步
首先要启用库(Vault),设置主密码,注意不要开启 Encrypt config file,这会影响同步功能。
访问你的域名,点击页面左下登录按钮,选择 Github 登录;点击页面左下设置按钮,复制同步 Token。
在 Tabby 设置中,先进入 Config file, 备份一下当前的配置。然后进入 Config Sync 设置,填入信息:
Sync Host: 你的域名
Secret sync token: 生成的密码
稍等片刻,即可在下方看到已经同步的配置(profile)。可以上传写入、下载覆盖,或者创建新的。建议开启 Sync automatically 选项。
参考文章
《使用自建 Tabby Web 来同步 Tabby 配置》,https://dallas.lu/zh-CN/sync-tabby-config-with-a-self-hosted-tabby-web/