mirror of
https://github.com/Awuqing/BackupX.git
synced 2026-05-06 20:02:41 +08:00
- 新建 docs-site/ Docusaurus 项目,支持 en + zh-Hans 双语 - 从 README 迁移内容为独立文档页面: - Getting Started(安装、快速开始) - Deployment(Docker、裸机、Nginx、配置参考) - Features(备份类型、存储后端、SAP HANA、多节点集群、通知) - Reference(API、CLI) - Development(开发、贡献) - 自定义 BackupX 主题色、logo、落地页组件 - 新增 .github/workflows/docs.yml,Actions 自动构建并发布到 GitHub Pages - README.md 切换为英文,中文版挪到 README.zh-CN.md,两者均精简为导航型 - 配置站点 URL:https://awuqing.github.io/BackupX/
2.4 KiB
2.4 KiB
sidebar_position, title, description
| sidebar_position | title | description |
|---|---|---|
| 1 | Development Setup | Get a BackupX dev environment running — backend, frontend, tests. |
Development Setup
Requirements: Go ≥ 1.25, Node.js ≥ 20, npm.
Clone & install
git clone https://github.com/Awuqing/BackupX.git && cd BackupX
cd web && npm install && cd ..
Dev servers
Run the backend and the Vite dev server in two terminals:
# Terminal 1: backend on :8340
make dev-server
# Terminal 2: Vite with HMR on :5173
make dev-web
The Vite config proxies /api to http://127.0.0.1:8340 so you can open the UI at http://localhost:5173.
Tests
make test # runs Go + Web test suites
make test-server # Go only
make test-web # Vitest only
Production build
make build # server/bin/backupx + web/dist
make docker # Docker image
make docker-cn # Docker image with mainland China mirrors
Tech stack
| Component | Stack |
|---|---|
| Backend | Go · Gin · GORM · SQLite · robfig/cron · rclone |
| Frontend | React 18 · TypeScript · ArcoDesign · Vite · Zustand · ECharts |
| Storage | rclone (70+ backends) · AWS SDK v2 · Google Drive API v3 |
| Security | JWT · bcrypt · AES-256-GCM |
Project layout
BackupX/
├── server/ # Go backend
│ ├── cmd/backupx/ # Entry point + subcommands (agent, backint, reset-password)
│ ├── internal/
│ │ ├── agent/ # Agent CLI logic
│ │ ├── app/ # Wiring (repositories → services → handlers)
│ │ ├── backup/ # Backup runners (file / mysql / postgres / sqlite / saphana)
│ │ ├── backint/ # SAP HANA Backint protocol
│ │ ├── http/ # HTTP handlers + router
│ │ ├── model/ # GORM models
│ │ ├── repository/ # DB access
│ │ ├── service/ # Business logic
│ │ └── storage/ # Storage providers (rclone + direct SDKs)
│ └── pkg/ # Generic utilities
├── web/ # React frontend (Vite)
│ └── src/
│ ├── components/
│ ├── pages/
│ ├── services/
│ └── types/
├── docs-site/ # This documentation site (Docusaurus)
├── deploy/ # install.sh, systemd unit, nginx config
└── Makefile