mirror of
https://github.com/Awuqing/BackupX.git
synced 2026-05-11 18:10:23 +08:00
feat: add Docker deployment support
- Multi-stage Dockerfile (Node build + Go build + Alpine runtime) - docker-compose.yml with named volume for data persistence - In-container Nginx reverse proxy (static files + API) - Entrypoint script for graceful process management - .dockerignore for optimized build context - Updated README (zh/en) with Docker quick start and deployment docs Closes #14
This commit is contained in:
50
README.md
50
README.md
@@ -112,10 +112,30 @@ BackupX 是一个面向 **Linux / macOS 服务器**的自托管备份管理平
|
||||
### 🌐 其他
|
||||
- 中英文国际化 (i18n)
|
||||
- 零外部依赖(内嵌 SQLite,单二进制部署)
|
||||
- Docker / Docker Compose 一键部署
|
||||
- systemd 服务支持
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Docker 部署 (推荐)
|
||||
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone https://github.com/Awuqing/BackupX.git
|
||||
cd BackupX
|
||||
|
||||
# 一键启动
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
如需备份宿主机上的目录,在 `docker-compose.yml` 中挂载对应路径:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- backupx-data:/app/data
|
||||
- /path/to/backup/source:/mnt/source:ro
|
||||
```
|
||||
|
||||
### 从源码构建
|
||||
|
||||
```bash
|
||||
@@ -302,11 +322,16 @@ BackupX/
|
||||
├── deploy/ # 部署配置
|
||||
│ ├── nginx.conf # Nginx 参考配置
|
||||
│ ├── backupx.service # systemd 服务单元
|
||||
│ └── install.sh # 一键安装脚本
|
||||
│ ├── install.sh # 一键安装脚本
|
||||
│ └── docker/ # Docker 部署配置
|
||||
│ ├── nginx.conf # 容器内 Nginx 配置
|
||||
│ └── entrypoint.sh # 容器启动脚本
|
||||
├── .github/ # GitHub 配置
|
||||
│ ├── workflows/ci.yml # CI 工作流
|
||||
│ ├── workflows/release.yml # Release 工作流
|
||||
│ └── ISSUE_TEMPLATE/ # Issue 模板
|
||||
├── Dockerfile # Docker 多阶段构建
|
||||
├── docker-compose.yml # Docker Compose 配置
|
||||
└── Makefile # 构建命令
|
||||
```
|
||||
|
||||
@@ -371,6 +396,29 @@ sudo ./deploy/install.sh
|
||||
5. 注册并启动 systemd 服务
|
||||
6. 配置 Nginx 反向代理(如已安装)
|
||||
|
||||
### Docker 部署
|
||||
|
||||
```bash
|
||||
# 使用 docker compose
|
||||
docker compose up -d
|
||||
|
||||
# 或手动构建镜像
|
||||
docker build -t backupx .
|
||||
docker run -d --name backupx -p 8340:8340 -v backupx-data:/app/data backupx
|
||||
```
|
||||
|
||||
通过环境变量覆盖配置:
|
||||
|
||||
```bash
|
||||
docker run -d --name backupx \
|
||||
-p 8340:8340 \
|
||||
-v backupx-data:/app/data \
|
||||
-e TZ=Asia/Shanghai \
|
||||
-e BACKUPX_LOG_LEVEL=debug \
|
||||
-e BACKUPX_BACKUP_MAX_CONCURRENT=4 \
|
||||
backupx
|
||||
```
|
||||
|
||||
### 手动部署
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user