自建Tabby配置同步服务器前置条件:
需要一个GitHub或(谷歌,微软,GitLab)账号,要创建一个OAuth应用程序。
需要一台服务器,安装有Docker和Docker compose。
需要一枚域名,解析IP访问等用处。
第一步先进行域名解析。然后到相应的社交账号处创建OAuth应用。我使用的是GitHub账号。到下面网址创建一个应用程序
分别按照要求填写内容。比较重要的是需要填写对“授权回调 URL”。
例如使用域名, tabby.abc.com
在授权回调地址中就要填入:https://tabby.abc.com/api/1/auth/social/complete/github/
(abc.com需要根据自己的域名进行修改)
根据要求创建好OAuth应用后,把后面需要用到的Client ID和Client secrets提取出来并保存好后面需要用到。
下面就开始使用Docker容器来部署服务端程序。
在服务器的合适位置创建tabby-web的文件夹,并且创建一个docker-compose.yml的文件,输入一下内容。
services:
tabby-web:
image: registry.cn-guangzhou.aliyuncs.com/myskyts/tabby-web:latest
container_name: tabby-web
restart: unless-stopped
networks:
- 1panel-network
ports:
- 9090:9090
volumes:
- ./app-dist:/app-dist
- ./data:/data
environment:
- DATABASE_URL=sqlite:////data/db.sqlite3
- DEBUG=False
- PORT=9090
- APP_DIST_STORAGE=file:///app-dist
- SOCIAL_AUTH_GITHUB_KEY=xxx
- SOCIAL_AUTH_GITHUB_SECRET=xxx
logging:
driver: "json-file"
options:
max-size: "5m"
max-file: "5"
networks:
1panel-network:
external: true
需要修改配置里的SOCIAL_AUTH_GITHUB_KEY=xxx
和SOCIAL_AUTH_GITHUB_SECRET=xxx
这里填入的是在GitHub上创建的OAuth应用Client ID和Client secrets 如果使用的不是GitHub的话这里的环境变量可以修改成其他的。
SOCIAL_AUTH_*_KEY
& SOCIAL_AUTH_*_SECRET
变量里的*号部分可以替换的内容分别是GITHUB
,GITLAB
,MICROSOFT_GRAPH
,GOOGLE_OAUTH2
这里的OAuth信息并不是唯一,可以同时使用多个,根据自己的需求来修改这部分内容。
image镜像部分官方原始的镜像地址是:ghcr.io/eugeny/tabby-web:latest
如果部署的服务器可以直接访问的话可以修改成官方的地址,服务器如果在国内的话可以保存配置文件中的阿里云地址,这个是我转存官方的镜像地址。
volumes部分必须保存配置文件中的设置。并且在docker-compose配置文件的同目录下分别创建app-dist
和data
两个文件夹,用于储存镜像内容数据文件和tabby的网页程序文件。
networks的网络部分按需修改,我使用的服务器管理程序是1Panel已经创建有一个名为1panel-network的网络连接,如果使用的不是1Panel程序或者是已经创建有其他的网络连接需要按照网络连接器的名字修改或者把networks部分去除使用Docker默认的网络连接。
按照以上修改完毕后保存好docker-compose文件执行docker-compose up -d
来进行编排镜像。
稍等片刻之后根据终端中显示的内容,如出现 ✔ Container tabby-web Started 即表明容器编排完成。
如果使用的是1Panel程序可以在容器界面看到正在运行的容器。
接下来还有两步重要的操作。添加 Tabby 应用版本。
进入容器执行下面命令。例如我使用的Tabby版本是1.0.189-nightly.2
可以在下面的连接查找合适的版本替换1.0.189-nightly.2
/manage.sh add_version 1.0.189-nightly.2
出现以上内容表示已经下载完毕。接下来需要移动和更改文件的路径地址。
使用终端连接服务器的ssh并且进入docker-compose配置文件所在的目录。
cd ./app-dist/1.0.189-nightly.2 && mv tmp*/* . && cp -rf tabby-web/* tmp*/
执行上面的命令。
到此Tabby-web的部署完毕,需要在服务器上使用其他第三方程序进行反向代理一下即可。也可以不进行反向代理直接使用http协议加9090的默认端口进行访问。
部署完毕后访问部署好的域名,在网页的左下角进行登录后设置网页并且获取tabby的客户端同步密匙。
在获取到同步密匙之后在Tabby的客户端,配置同步里填入。同步主机就是访问网页的地址。
保存好后即可进行配置的同步。可以开启自动同步,也可以手动点击上传进行手动同步。
到此Tabby的配置同步部署完毕。
在同步密匙获取的页面下还有一个“自定义网关”的选项,打开这个选项后可以不需要下载安装Tabby客户端可以直接使用同步上来的配置在网页上直接连接管理服务器,下篇文章会根据已经搭建好的Tabby-web在创建一个Tabby网关跟网页进行对接。这样就不需要临时连接服务器的时候在去专门找客户端下载来安装了。