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

View File

@@ -48,27 +48,58 @@
### 1. 安装
**Docker推荐**
**Docker推荐,无需克隆仓库**
```bash
git clone https://github.com/Awuqing/BackupX.git && cd BackupX
# 创建 docker-compose.yml 后一键启动
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
tar xzf backupx-v*.tar.gz && cd backupx-*
tar xzf backupx-v*-linux-amd64.tar.gz && cd backupx-*
sudo ./install.sh # 自动配置 systemd + Nginx
```
**国内用户源码构建:**
**源码构建:**
```bash
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. 打开控制台
@@ -115,13 +146,12 @@ make docker-cn # 自动使用国内镜像goproxy.cn / npmmirror /
### Docker 部署
```bash
docker compose up -d
docker compose up -d # 使用上方的 docker-compose.yml
```
备份宿主机目录时需要挂载路径:
备份宿主机目录时需要挂载路径(在 docker-compose.yml 的 `volumes` 中添加)
```yaml
# docker-compose.yml
volumes:
- backupx-data:/app/data
- /var/www:/mnt/www:ro # 挂载需要备份的目录
@@ -130,12 +160,11 @@ volumes:
通过环境变量调整配置:
```bash
docker run -d --name backupx -p 8340:8340 \
-v backupx-data:/app/data \
-e TZ=Asia/Shanghai \
-e BACKUPX_BACKUP_MAX_CONCURRENT=4 \
backupx
```yaml
environment:
- TZ=Asia/Shanghai
- BACKUPX_LOG_LEVEL=debug
- BACKUPX_BACKUP_MAX_CONCURRENT=4
```
### 裸机部署

View File

@@ -48,27 +48,58 @@
### 1. Install
**Docker (recommended):**
**Docker (recommended, no clone needed):**
```bash
git clone https://github.com/Awuqing/BackupX.git && cd BackupX
# Create a docker-compose.yml then start
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
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
```
**Build from source (China mirror):**
**Build from source:**
```bash
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
@@ -113,13 +144,12 @@ Go to **Notifications** to configure Email, Webhook, or Telegram alerts for back
### Docker
```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
# docker-compose.yml
volumes:
- backupx-data:/app/data
- /var/www:/mnt/www:ro
@@ -128,12 +158,11 @@ volumes:
Override config via environment variables:
```bash
docker run -d --name backupx -p 8340:8340 \
-v backupx-data:/app/data \
-e TZ=Asia/Shanghai \
-e BACKUPX_BACKUP_MAX_CONCURRENT=4 \
backupx
```yaml
environment:
- TZ=Asia/Shanghai
- BACKUPX_LOG_LEVEL=debug
- BACKUPX_BACKUP_MAX_CONCURRENT=4
```
### Bare Metal

View File

@@ -1,21 +1,29 @@
# BackupX Docker Compose
#
# 快速启动docker compose up -d
# 访问地址http://localhost:8340
#
# 如需从源码构建镜像(而非拉取线上镜像),取消注释 build 行并注释 image 行。
services:
backupx:
build: .
image: backupx:latest
image: awuqing/backupx:latest
# build: . # 从源码构建时取消此行注释
container_name: backupx
restart: unless-stopped
ports:
- "8340:8340"
volumes:
- backupx-data:/app/data
# Mount host directories that need to be backed up (example):
# - /path/to/backup/source:/mnt/source:ro
# 挂载需要备份的宿主机目录(按需添加,:ro 表示只读):
# - /var/www:/mnt/www:ro
# - /etc/nginx:/mnt/nginx-conf:ro
# - /home/user/data:/mnt/data:ro
environment:
- TZ=Asia/Shanghai
# Override any config via BACKUPX_ prefixed env vars:
# - BACKUPX_SERVER_PORT=8340
# - BACKUPX_LOG_LEVEL=info
# - BACKUPX_BACKUP_MAX_CONCURRENT=2
# 通过 BACKUPX_ 前缀环境变量覆盖配置:
# - BACKUPX_LOG_LEVEL=debug
# - BACKUPX_BACKUP_MAX_CONCURRENT=4
volumes:
backupx-data: