diff --git a/README.md b/README.md index 0eca470..b35dfcf 100644 --- a/README.md +++ b/README.md @@ -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) 下载对应平台的压缩包,解压后运行安装脚本: +
+docker-compose.yml 参考 + +```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: +``` + +
+ +**预编译包(裸机部署):** + +从 [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 # 或用国内镜像构建 Docker(goproxy.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 ``` ### 裸机部署 diff --git a/README_EN.md b/README_EN.md index a8662cc..ed7c809 100644 --- a/README_EN.md +++ b/README_EN.md @@ -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: +
+docker-compose.yml reference + +```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: +``` + +
+ +**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 diff --git a/docker-compose.yml b/docker-compose.yml index 2ccd869..7283480 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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: