前提需求:
1. Github账号
2. 具有公网IP的服务器
3. Docker环境
原本是用Termius,但是穷人不配多端同步,要管理的机器有点多,实在不方便,于是找到了Tabby,用起来也不错,免费开源,且支持多端同步。目前网上介绍的同步方式都是用插件,但实际上Tabby官方支持同步,只需要自建一个Tabby Web服务即可。
首先在【设置】-【保险库】中设置一个主密码,但下面的加密配置文件不要打开。
去 https://github.com/settings/applications/new 注册一个github应用
Application name 随意,比如 tabby-web
Homepage URL 填写你的访问域名,可以带端口号,例如:https://tabby-web.anerg.com:8888
Authorization callback URL 要设置为 https://<your-host>/api/1/auth/social/complete/github/ 例如:https://tabby-web.anerg.com:8888/api/1/auth/social/complete/github/
注册完成后,获取 Client ID 和 Client secrets,后面要用到。
version: '3.0'
services:
tabby-web:
image: ghcr.io/eugeny/tabby-web:latest
container_name: tabby-web
restart: unless-stopped
networks:
- work-net
volumes:
- /volume1/docker/tabby/data:/data
environment:
- DATABASE_URL=sqlite:////data/db.sqlite3
- DEBUG=False
- PORT=9000
- APP_DIST_STORAGE=file:///data
- SOCIAL_AUTH_GITHUB_KEY=xxxx
- SOCIAL_AUTH_GITHUB_SECRET=xxxx
labels:
- com.centurylinklabs.watchtower.enable=true
- traefik.enable=true
- traefik.http.routers.app-tabby-web.tls=true
- traefik.http.routers.app-tabby-web.tls.certresolver=cloudflare
- traefik.http.routers.app-tabby-web.entrypoints=websecure
- traefik.http.routers.app-tabby-web.rule=Host(`tabby-web.anerg.com`)
- traefik.http.routers.app-tabby-web.service=app-tabby-web
- traefik.http.services.app-tabby-web.loadbalancer.server.port=9090
logging:
driver: "json-file"
options:
max-size: "5m"
max-file: "5"
networks:
work-net:
external: true
SOCIAL_AUTH_GITHUB_KEY的值设置为Client ID
SOCIAL_AUTH_GITHUB_SECRET的值设置为Client secrets
我这里有个docker自建的网络work-net,如果你没有,删除掉相关配置
然后访问 https://tabby-web.anerg.com:8888 左下角登陆,获取key
打开软件,【设置】-【配置同步】
同步主机,填写你的地址,比如我这里是 https://tabby-web.anerg.com:8888
加密同步令牌,填写刚从tabby web页面获取到的key
如果没问题,就可以上传配置了,在其它机器上,设置好配置同步,可以下载覆盖即可。
注意,所有的服务器,都应该是以密码方式访问,这样同步以后,所有终端都可以用了。