Files
BackupX/docs-site/docs/development/setup.md
Wu Qing 9080a47703 chore(repo): 完善仓库维护与自动化 (#108)
统一 Node.js 24 LTS、CI、文档和发布工作流配置。

完善仓库维护规范、Dependabot 与贡献文档,清理生成产物并统一既有 Go 代码格式。
2026-08-09 21:18:19 +08:00

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 24 LTS, npm 11 or later.

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