docs: update Docker deployment to use published image from Docker Hub

- docker-compose.yml: change from local build to awuqing/backupx:latest
  with clear comments for mounting host volumes
- README: Docker quick start now uses `docker run` / `docker compose`
  directly without cloning the repo first
- Add Docker Hub badge and link to awuqing/backupx
- Keep source build instructions as a separate option
This commit is contained in:
Awuqing
2026-03-31 00:16:31 +08:00
parent 6c1e988920
commit 9033ccabb7
3 changed files with 106 additions and 40 deletions
+45 -16
View File
@@ -48,27 +48,58 @@
### 1. 安装 ### 1. 安装
**Docker(推荐):** **Docker(推荐,无需克隆仓库):**
```bash ```bash
git clone https://github.com/Awuqing/BackupX.git && cd BackupX # 创建 docker-compose.yml 后一键启动
docker compose up -d docker compose up -d
# 或直接运行
docker run -d --name backupx -p 8340:8340 -v backupx-data:/app/data awuqing/backupx:latest
``` ```
**预编译包:** > Docker Hub 镜像:[`awuqing/backupx`](https://hub.docker.com/r/awuqing/backupx),支持 linux/amd64 和 linux/arm64。
从 [Releases](https://github.com/Awuqing/BackupX/releases) 下载对应平台的压缩包,解压后运行安装脚本: <details>
<summary>docker-compose.yml 参考</summary>
```yaml
services:
backupx:
image: awuqing/backupx:latest
container_name: backupx
restart: unless-stopped
ports:
- "8340:8340"
volumes:
- backupx-data:/app/data
# 挂载需要备份的宿主机目录(按需添加):
# - /var/www:/mnt/www:ro
# - /etc/nginx:/mnt/nginx-conf:ro
environment:
- TZ=Asia/Shanghai
volumes:
backupx-data:
```
</details>
**预编译包(裸机部署):**
从 [Releases](https://github.com/Awuqing/BackupX/releases) 下载对应平台的压缩包:
```bash ```bash
tar xzf backupx-v*.tar.gz && cd backupx-* tar xzf backupx-v*-linux-amd64.tar.gz && cd backupx-*
sudo ./install.sh # 自动配置 systemd + Nginx sudo ./install.sh # 自动配置 systemd + Nginx
``` ```
**国内用户源码构建:** **源码构建:**
```bash ```bash
git clone https://github.com/Awuqing/BackupX.git && cd BackupX git clone https://github.com/Awuqing/BackupX.git && cd BackupX
make docker-cn # 自动使用国内镜像(goproxy.cn / npmmirror / 阿里云 apk make build # 构建前后端
make docker-cn # 或用国内镜像构建 Dockergoproxy.cn / npmmirror / 阿里云 apk
``` ```
### 2. 打开控制台 ### 2. 打开控制台
@@ -115,13 +146,12 @@ make docker-cn # 自动使用国内镜像(goproxy.cn / npmmirror /
### Docker 部署 ### Docker 部署
```bash ```bash
docker compose up -d docker compose up -d # 使用上方的 docker-compose.yml
``` ```
备份宿主机目录时需要挂载路径: 备份宿主机目录时需要挂载路径(在 docker-compose.yml 的 `volumes` 中添加)
```yaml ```yaml
# docker-compose.yml
volumes: volumes:
- backupx-data:/app/data - backupx-data:/app/data
- /var/www:/mnt/www:ro # 挂载需要备份的目录 - /var/www:/mnt/www:ro # 挂载需要备份的目录
@@ -130,12 +160,11 @@ volumes:
通过环境变量调整配置: 通过环境变量调整配置:
```bash ```yaml
docker run -d --name backupx -p 8340:8340 \ environment:
-v backupx-data:/app/data \ - TZ=Asia/Shanghai
-e TZ=Asia/Shanghai \ - BACKUPX_LOG_LEVEL=debug
-e BACKUPX_BACKUP_MAX_CONCURRENT=4 \ - BACKUPX_BACKUP_MAX_CONCURRENT=4
backupx
``` ```
### 裸机部署 ### 裸机部署
+45 -16
View File
@@ -48,27 +48,58 @@
### 1. Install ### 1. Install
**Docker (recommended):** **Docker (recommended, no clone needed):**
```bash ```bash
git clone https://github.com/Awuqing/BackupX.git && cd BackupX # Create a docker-compose.yml then start
docker compose up -d docker compose up -d
# Or run directly
docker run -d --name backupx -p 8340:8340 -v backupx-data:/app/data awuqing/backupx:latest
``` ```
**Pre-built binaries:** > Docker Hub: [`awuqing/backupx`](https://hub.docker.com/r/awuqing/backupx) — supports linux/amd64 and linux/arm64.
Download from [Releases](https://github.com/Awuqing/BackupX/releases), extract and run: <details>
<summary>docker-compose.yml reference</summary>
```yaml
services:
backupx:
image: awuqing/backupx:latest
container_name: backupx
restart: unless-stopped
ports:
- "8340:8340"
volumes:
- backupx-data:/app/data
# Mount host directories to back up (add as needed):
# - /var/www:/mnt/www:ro
# - /etc/nginx:/mnt/nginx-conf:ro
environment:
- TZ=Asia/Shanghai
volumes:
backupx-data:
```
</details>
**Pre-built binaries (bare metal):**
Download from [Releases](https://github.com/Awuqing/BackupX/releases):
```bash ```bash
tar xzf backupx-v*.tar.gz && cd backupx-* tar xzf backupx-v*-linux-amd64.tar.gz && cd backupx-*
sudo ./install.sh # Auto-configures systemd + Nginx sudo ./install.sh # Auto-configures systemd + Nginx
``` ```
**Build from source (China mirror):** **Build from source:**
```bash ```bash
git clone https://github.com/Awuqing/BackupX.git && cd BackupX git clone https://github.com/Awuqing/BackupX.git && cd BackupX
make docker-cn # Uses China mirrors (goproxy.cn / npmmirror / Aliyun apk) make build # Build frontend + backend
make docker-cn # Or Docker build with China mirrors (goproxy.cn / npmmirror / Aliyun apk)
``` ```
### 2. Open the Console ### 2. Open the Console
@@ -113,13 +144,12 @@ Go to **Notifications** to configure Email, Webhook, or Telegram alerts for back
### Docker ### Docker
```bash ```bash
docker compose up -d docker compose up -d # Using the docker-compose.yml above
``` ```
Mount host directories for file backup: Mount host directories for file backup (add to `volumes` in docker-compose.yml):
```yaml ```yaml
# docker-compose.yml
volumes: volumes:
- backupx-data:/app/data - backupx-data:/app/data
- /var/www:/mnt/www:ro - /var/www:/mnt/www:ro
@@ -128,12 +158,11 @@ volumes:
Override config via environment variables: Override config via environment variables:
```bash ```yaml
docker run -d --name backupx -p 8340:8340 \ environment:
-v backupx-data:/app/data \ - TZ=Asia/Shanghai
-e TZ=Asia/Shanghai \ - BACKUPX_LOG_LEVEL=debug
-e BACKUPX_BACKUP_MAX_CONCURRENT=4 \ - BACKUPX_BACKUP_MAX_CONCURRENT=4
backupx
``` ```
### Bare Metal ### Bare Metal
+16 -8
View File
@@ -1,21 +1,29 @@
# BackupX Docker Compose
#
# 快速启动:docker compose up -d
# 访问地址:http://localhost:8340
#
# 如需从源码构建镜像(而非拉取线上镜像),取消注释 build 行并注释 image 行。
services: services:
backupx: backupx:
build: . image: awuqing/backupx:latest
image: backupx:latest # build: . # 从源码构建时取消此行注释
container_name: backupx container_name: backupx
restart: unless-stopped restart: unless-stopped
ports: ports:
- "8340:8340" - "8340:8340"
volumes: volumes:
- backupx-data:/app/data - backupx-data:/app/data
# Mount host directories that need to be backed up (example): # 挂载需要备份的宿主机目录(按需添加,:ro 表示只读):
# - /path/to/backup/source:/mnt/source:ro # - /var/www:/mnt/www:ro
# - /etc/nginx:/mnt/nginx-conf:ro
# - /home/user/data:/mnt/data:ro
environment: environment:
- TZ=Asia/Shanghai - TZ=Asia/Shanghai
# Override any config via BACKUPX_ prefixed env vars: # 通过 BACKUPX_ 前缀环境变量覆盖配置:
# - BACKUPX_SERVER_PORT=8340 # - BACKUPX_LOG_LEVEL=debug
# - BACKUPX_LOG_LEVEL=info # - BACKUPX_BACKUP_MAX_CONCURRENT=4
# - BACKUPX_BACKUP_MAX_CONCURRENT=2
volumes: volumes:
backupx-data: backupx-data: