Files
sub2api/deploy/DATAMANAGEMENTD_CN.md
2026-02-28 15:01:20 +08:00

2.1 KiB
Raw Blame History

datamanagementd 部署说明(数据管理)

本文说明如何在宿主机部署 datamanagementd,并与主进程联动开启“数据管理”功能。

1. 关键约束

  • 主进程固定探测路径:/tmp/sub2api-datamanagement.sock
  • 仅当该 Unix Socket 可连通且 Health 成功时,后台“数据管理”才会启用
  • datamanagementd 使用 SQLite 持久化元数据,不依赖主库

2. 宿主机构建与运行

cd /opt/sub2api-src/datamanagement
go build -o /opt/sub2api/datamanagementd ./cmd/datamanagementd

mkdir -p /var/lib/sub2api/datamanagement
chown -R sub2api:sub2api /var/lib/sub2api/datamanagement

手动启动示例:

/opt/sub2api/datamanagementd \
  -socket-path /tmp/sub2api-datamanagement.sock \
  -sqlite-path /var/lib/sub2api/datamanagement/datamanagementd.db \
  -version 1.0.0

3. systemd 托管(推荐)

仓库已提供示例服务文件:deploy/sub2api-datamanagementd.service

sudo cp deploy/sub2api-datamanagementd.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now sub2api-datamanagementd
sudo systemctl status sub2api-datamanagementd

查看日志:

sudo journalctl -u sub2api-datamanagementd -f

也可以使用一键安装脚本(自动安装二进制 + 注册 systemd

# 方式一:使用现成二进制
sudo ./deploy/install-datamanagementd.sh --binary /path/to/datamanagementd

# 方式二:从源码构建后安装
sudo ./deploy/install-datamanagementd.sh --source /path/to/sub2api

4. Docker 部署联动

sub2api 运行在 Docker 容器中,需要将宿主机 Socket 挂载到容器同路径:

services:
  sub2api:
    volumes:
      - /tmp/sub2api-datamanagement.sock:/tmp/sub2api-datamanagement.sock

建议在 docker-compose.override.yml 中维护该挂载,避免覆盖主 compose 文件。

5. 依赖检查

datamanagementd 执行备份时依赖以下工具:

  • pg_dump
  • redis-cli
  • docker(仅 source_mode=docker_exec 时)

缺失依赖会导致对应任务失败,并在任务详情中体现错误信息。