diff --git a/.gitignore b/.gitignore index 5500474..ffa462a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,12 @@ bin/ +data/ +*.db +*.db-shm +*.db-wal +web/node_modules/ +web/dist/ *.exe *.test *.out -web/dist/ -web/node_modules/ +.idea/ +.vscode/ diff --git a/README.md b/README.md index 5dc9a21..ab13dc2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Cross-platform tool to synchronize all repositories from multiple Gitea servers ## Features -- Single binary deployment +- Single binary deployment (frontend embedded) - Web UI for management (Vue 3 + Element Plus) - SQLite database - JWT authentication @@ -14,20 +14,47 @@ Cross-platform tool to synchronize all repositories from multiple Gitea servers ## Build ```bash -make all +# 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 ```bash +# 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 ```bash +# 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 ```