惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
量子位
人人都是产品经理
人人都是产品经理
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
Recent Announcements
Recent Announcements
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
N
Netflix TechBlog - Medium
H
Help Net Security
博客园 - 三生石上(FineUI控件)
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MyScale Blog
MyScale Blog
The Cloudflare Blog
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
宝玉的分享
宝玉的分享
Vercel News
Vercel News

Dallas Lu

一些没有意义的事情 博客程序的一次大重构 OpenWRT 使用 udp2raw 对抗 WireGuard 阻断 如何证明你是原创作者 Nginx 泛域名配置的隐患与对策 WISeID S/MIME 证书 V2EX 刑满释放记 使用 Radicale 在 Ubuntu 24.04 中搭建 vCards CardDav 服务 邮件服务的域名成功从 SURBL 黑名单移除 The Domain of Mail successfully removed from SURBL blacklist 网站多语言的设计细节 Website Multilingual Design Details 网站评论系统的目前进展和展望 Current Progress and Outlook of the Website Comment System 在公网使用 iptables 转发端口时保留客户端 IP Retaining Client IP with iptables Port Forwarding on Public Networks 邮件投递平台 Postal 的使用经验 Experience with Using Postal, the Mail Delivery Platform 自建 Postal 完美替代 SendGrid Build Your Own SendGrid: Postal SMTP Server 互联网在崩塌吗,然后呢 Is the Internet collapsing and then what 在 SvelteKit 应用中使用 JSON-LD Using JSON-LD in SvelteKit Applications 网页的打印样式应该怎么写 How to write print styles for web pages “茴字的四种写法”之 IP 与域名 Trivia: Special ways of writing IP and domain names 怎么伪造 Git 提交的时区 How to fake the timezone of a git commit
使用自建 Tabby Web 来同步 Tabby 配置
达拉斯・卢 · 2024-02-21 · via Dallas Lu

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

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

注册 Github App

访问 https://github.com/settings/applications/new 注册一个应用。填入地址与回调 URL。例如:

  • Homepage URL: https://tabby.example.com
  • Authorization callback URL: https://tabby.example.com/api/1/auth/social/complete/github/

注册完成后,记录 Client ID 并获取 Client secrets。

运行 Tabby Web

创建 podman-compose.yml注1

services:
  tabby:
    image: ghcr.io/eugeny/tabby-web:latest
    container_name: tabby
    restart: always
    ports:
      - '8000:8000'
    volumes:
      - ./data:/app-dist
    environment:
      - DATABASE_URL=sqlite:////app-dist/db.sqlite3 
      - PORT=8000
      - DEBUG=False
      - SOCIAL_AUTH_GITHUB_KEY=<Your Github App Client ID>
      - SOCIAL_AUTH_GITHUB_SECRET=<Your Github App Client Secret>
podman pull ghcr.io/eugeny/tabby-web:latest
podman-compose up -d

然后使用 Nginx 等为 Tabby Web 实例做一个反代。

配置 Tabby Web

进入容器 shell:

podman exec -it tabby /bin/sh

https://registry.npmjs.org/tabby-web-container/ 中找一个较新的版本号,给 Tabby Web 注册应用版本:

./manage.sh add_version 1.0.163

配置 Tabby 同步

首先要启用库(Vault),设置主密码,注意不要开启 Encrypt config file,这会影响同步功能。访问 https://tabby.example.com,点击页面左下登录按钮,选择 Github 登录;点击页面左下设置按钮,复制同步 Token。

在 Tabby 设置中,先进入 Config file, 备份一下当前的配置。然后进入 Config Sync 设置,填入信息:

  • Sync Host: https://tabby.example.com
  • Secret sync token:

稍等片刻,即可在下方看到已经同步的配置(profile)。可以上传写入、下载覆盖,或者创建新的。建议开启 Sync automatically 选项。


  1. 使用 docker 和 docker-compose 亦可。本文选择使用 podman 和 podman-compose。 ↩

  1. Dallas Lu. 使用 Nextcloud 同步 Tabby 配置文件. ISSN 2770-7288. 2021. ↩