Files
BackupX/docs-site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/bare-metal.md
T
Awuqing f8deafcb00 feat(auth): 完善英文初始化与裸机安装
在登录和首个管理员创建前提供中英文切换,并在初始化状态不可达时展示可重试错误,避免误入登录页。

对齐源码构建产物与安装脚本路径,增加 systemd/API 就绪检查、失败诊断及中英文裸机文档。

Closes #104
2026-08-07 05:55:56 +08:00

2.5 KiB
Raw Blame History

sidebar_position, title, description
sidebar_position title description
2 裸机部署 从预编译包或源码部署 BackupXsystemd + Nginx)。

裸机部署

使用预编译包

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

# 解压并安装
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 站点配置 — 参见 Nginx 反向代理
  6. 验证首次初始化接口就绪后才报告安装成功

如果要部署多节点集群,安装后请编辑 /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 backup management service
After=network.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
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

密码重置

忘记管理员密码时:

/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'