Files
BackupX/docs-site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/bare-metal.md
T
Wu Qing bdd16dafa8 docs: 完善部署与运维文档 (#107)
新增中英文升级恢复、安全加固、监控告警与故障排查手册,校正安装部署、CLI 与 API 参考,并修复安全密钥环境变量注入及其回归测试。
2026-08-09 13:51:38 +08:00

3.4 KiB
Raw Blame History

sidebar_position, title, description
sidebar_position title description
2 裸机部署 从预编译包或源码加固部署 BackupX,Nginx 改为显式启用。

裸机部署

使用预编译包

# 下载对应平台的压缩包
curl -LO https://github.com/Awuqing/BackupX/releases/latest/download/backupx-linux-amd64.tar.gz
curl -LO https://github.com/Awuqing/BackupX/releases/latest/download/backupx-linux-amd64.tar.gz.sha256
sha256sum -c backupx-linux-amd64.tar.gz.sha256

# 解压并安装
tar xzf backupx-linux-amd64.tar.gz && cd backupx-*-linux-amd64
sudo ./install.sh

安装脚本自动完成以下步骤:

  1. 创建系统用户 backupx
  2. 复制二进制到 /opt/backupx/bin/backupx,并把 Web 控制台复制到 /opt/backupx/web
  3. 把默认配置安装到 /etc/backupx/config.yaml
  4. 安装并启用 backupx.service systemd 单元
  5. 默认不修改 Nginx;只有显式设置 INSTALL_NGINX=1 时才安装模板
  6. 验证首次初始化接口就绪后才报告安装成功

可执行文件与前端资源由 root 所有,只有 /opt/backupx/data 允许 backupx 服务账户写入。/etc/backupx/config.yamlroot:backupx0640 权限安装。

仓库提供的 Nginx 模板只是起点,可能与现有默认站点冲突。先审核域名与 TLS 策略,再显式启用:

sudo INSTALL_NGINX=1 ./install.sh

如果要部署多节点集群,安装后请编辑 /etc/backupx/config.yaml,设置远程 Agent 可访问到的 Master URL

server:
  external_url: "https://backup.example.com"

修改后重启 BackupX

sudo systemctl restart backupx

从源码构建

git clone https://github.com/Awuqing/BackupX.git && cd BackupX
make build
sudo ./deploy/install.sh

make build 会产出:

  • server/bin/backupxGo 后端,无 CGO
  • web/dist/React 前端,执行 npm run build

systemd

安装后的 service 文件:

[Unit]
Description=BackupX API Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=backupx
Group=backupx
WorkingDirectory=/opt/backupx
ExecStart=/opt/backupx/bin/backupx -config /etc/backupx/config.yaml
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
UMask=0027
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

常用命令:

sudo systemctl status backupx
sudo journalctl -u backupx -f    # 实时日志
sudo systemctl restart backupx
curl -fsS http://127.0.0.1:8340/api/auth/setup/status

访问 http://your-server:8340,可按需切换到 English,然后在“系统初始化 / System setup”页面创建首个管理员。若监听端口不是默认值,请为安装脚本传入对应的 HEALTH_URL

生产环境应通过 HTTPS 暴露 BackupX,或在防火墙限制 8340 端口。安装器不会自动修改防火墙。

替换版本前,应在服务停止时同时快照 /etc/backupx/opt/backupx/data、已安装二进制和前端文件。请按升级与恢复中的版本化流程操作;让旧版本二进制直接读取已由新版本迁移的数据库并不是安全回滚。

密码重置

忘记管理员密码时:

/opt/backupx/bin/backupx reset-password \
  --username admin \
  --password 'newpass123' \
  --config /etc/backupx/config.yaml

Docker 等效命令:

docker exec -it backupx /app/bin/backupx reset-password --username admin --password 'newpass123'