教程前言

Tabby 作为一个跨平台的 多功能 SSH 终端,在其 Web 版中提供了配置同步的功能。本文介绍用 podman 搭建 Tabby Web 及使用 Tabby 内建的配置同步功能。

在此之前,我尝试过使用 Nextcloud 来同步配置文件目录,后来改用插件 Setting Sync。长期以来该插件工作并不是很稳定,常有提示无法同步的情况。
而 Tabby 内建的同步服务使用起来则稳定许多,还支持多套配置 (profile) 的同步与切换。内建的同步功能需要连接一个 Tabby Web 实例,用 Github 等账户授权登录后获得同步密钥。如果你有信任的人拥有一个 Tabby Web 实例,你可直接借用。

创建应用

  1. 前往Github OAuth Apps新建一个应用程序
  2. 回调地址填写https://你的域名/api/1/auth/social/complete/github/
  3. 保存Client IDClient 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/
Last modification:March 10, 2025
If you think my article is useful to you, please feel free to appreciate