Files
GitM/README.md
panw a7cfa381e7 docs: update .gitignore and README
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 16:45:41 +08:00

1.1 KiB

GitM - Gitea Repository Sync Tool

Cross-platform tool to synchronize all repositories from multiple Gitea servers to local storage.

Features

  • Single binary deployment (frontend embedded)
  • Web UI for management (Vue 3 + Element Plus)
  • SQLite database
  • JWT authentication
  • Scheduled and manual sync
  • Cross-platform (Windows, Linux)

Build

# Build binary with embedded frontend
go build -o bin/gitm .

# Or with CGO for SQLite support
CGO_ENABLED=1 go build -o bin/gitm .

Run

# First-time initialization (set admin password)
./bin/gitm --init

# Start server (default :9000)
./bin/gitm

# Custom address
./bin/gitm --addr :9090

# Custom data directory
./bin/gitm --data /path/to/data

Usage

  1. Initialize: ./bin/gitm --init -- sets admin password
  2. Start: ./bin/gitm -- starts web server
  3. Open browser to http://localhost:9000
  4. Login and add Gitea servers
  5. Discover repos and sync

Development

# Frontend dev server
cd web && npm install && npm run dev

# Backend
go run main.go

# Run tests
go test ./internal/gitea/... -v
CGO_ENABLED=1 go test ./internal/database/... -v