deploy: 适配服务器实际环境(mynet 网络、Caddy 路径反代)
This commit is contained in:
+26
-43
@@ -1,62 +1,45 @@
|
|||||||
# 同步服务端部署指南(Docker + Caddy 自动 HTTPS)
|
# 同步服务端部署(服务器 /opt,Docker + Caddy)
|
||||||
|
|
||||||
## 一、部署同步服务
|
服务器现状:Caddy 占用 80/443,各服务容器接入 mynet 网络,Gitea SSH 在宿主机 222 端口。
|
||||||
|
|
||||||
1. 上传 server 目录到服务器(如 ~/internlog-sync/)
|
## 一、获取部署文件并启动
|
||||||
2. 启动:
|
|
||||||
|
|
||||||
cd ~/internlog-sync
|
cd /opt
|
||||||
docker compose up -d --build
|
git clone https://gitea.linyux.cn/root/daywork.git daywork 2>/dev/null || (cd daywork && git pull)
|
||||||
|
cd daywork/server
|
||||||
|
docker compose up -d --build
|
||||||
|
|
||||||
3. 验证:curl http://127.0.0.1:3780/api/health 应返回 {"ok":true}
|
启动后容器 internlog-sync 加入 mynet,Caddy 可用容器名直接访问。
|
||||||
|
|
||||||
数据保存在 ./data/(用户注册表 + 每用户数据文件),整目录复制即备份。
|
## 二、修改 Caddyfile
|
||||||
|
|
||||||
## 二、Caddy 反向代理(自动申请与续期 HTTPS 证书)
|
在 /opt/caddy 下的 Caddyfile 中,把 gitea.linyux.cn 站点改为(新增两个 handle 块):
|
||||||
|
|
||||||
### 方式一:独立子域名(推荐)
|
|
||||||
|
|
||||||
先在 DNS 添加 A 记录:sync.linyux.cn → 124.221.192.176
|
|
||||||
|
|
||||||
Caddyfile:
|
|
||||||
|
|
||||||
sync.linyux.cn {
|
|
||||||
reverse_proxy 127.0.0.1:3780
|
|
||||||
}
|
|
||||||
|
|
||||||
客户端同步地址填:https://sync.linyux.cn
|
|
||||||
|
|
||||||
### 方式二:复用现有域名路径(不新增 DNS 记录)
|
|
||||||
|
|
||||||
在 gitea.linyux.cn 现有 Caddy 站点块中加入 handle_path(原有 Gitea 反代配置保持不变):
|
|
||||||
|
|
||||||
gitea.linyux.cn {
|
gitea.linyux.cn {
|
||||||
handle_path /sync-api/* {
|
handle_path /sync-api/* {
|
||||||
reverse_proxy 127.0.0.1:3780
|
reverse_proxy internlog-sync:3780
|
||||||
|
}
|
||||||
|
handle {
|
||||||
|
reverse_proxy gitea:3000
|
||||||
}
|
}
|
||||||
# ...原有 Gitea 配置
|
|
||||||
}
|
}
|
||||||
|
|
||||||
客户端同步地址填:https://gitea.linyux.cn/sync-api
|
其余站点不动。
|
||||||
|
|
||||||
### 启动 Caddy
|
## 三、重载并验证
|
||||||
|
|
||||||
- 宿主机已运行 Caddy:修改 Caddyfile 后 caddy reload 即可(参考 server/Caddyfile.example)
|
docker exec caddy caddy reload --config /etc/caddy/Caddyfile
|
||||||
- 未运行 Caddy:docker compose 里已附注释掉的 caddy 服务段,取消注释后 docker compose up -d
|
curl https://gitea.linyux.cn/sync-api/api/health
|
||||||
|
|
||||||
注意:证书自动申请要求 80/443 端口公网可达,且域名已解析到本服务器。
|
应返回 {"ok":true}(公网可达,可从本机验证)。
|
||||||
|
|
||||||
## 三、客户端配置
|
## 四、客户端
|
||||||
|
|
||||||
应用 → 设置 → 多端数据同步:
|
应用 → 设置 → 多端数据同步:地址填 https://gitea.linyux.cn/sync-api,注册云端账号后同步。
|
||||||
|
手机浏览器打开同一地址登录,添加到主屏幕后即为手机端应用。
|
||||||
|
|
||||||
1. 同步服务地址:https://sync.linyux.cn(或方式二的 https://gitea.linyux.cn/sync-api)
|
## 五、数据与运维
|
||||||
2. 注册云端账号(或填写已注册的账号密码)
|
|
||||||
3. 立即同步;此后登录状态下每 5 分钟自动同步
|
|
||||||
|
|
||||||
## 四、接口
|
- 数据目录:/opt/daywork/server/data(用户注册表 + 每用户数据),打包即备份
|
||||||
|
- 更新版本:cd /opt/daywork && git pull && cd server && docker compose up -d --build
|
||||||
- POST /api/auth/register {username, password}
|
- 接口:POST /api/auth/register、POST /api/auth/login、POST /api/sync、GET /api/health
|
||||||
- POST /api/auth/login {username, password}
|
|
||||||
- POST /api/sync Authorization: Bearer <token>,body: {tables, tombstones}
|
|
||||||
- GET /api/health
|
|
||||||
|
|||||||
@@ -6,13 +6,8 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./data:/app/data
|
- ./data:/app/data
|
||||||
networks:
|
networks:
|
||||||
- proxy-net
|
- mynet
|
||||||
|
|
||||||
# 让 Caddy 能用容器名 internlog-sync 直接访问本服务。
|
|
||||||
# 请先查出 Caddy 与 gitea 所在的共享网络名:
|
|
||||||
# docker inspect gitea --format '{{range $k,$v := .NetworkSettings.Networks}}{{$k}} {{end}}'
|
|
||||||
# 把下面 name 替换成查到的网络名。若 Caddy 与本服务同属一个 compose 项目则可删掉 networks 配置。
|
|
||||||
networks:
|
networks:
|
||||||
proxy-net:
|
mynet:
|
||||||
name: proxy-net
|
|
||||||
external: true
|
external: true
|
||||||
|
|||||||
Reference in New Issue
Block a user