8e08c73f60
Full-stack Go monolith with embedded React frontend for orchestrating rsync-over-SSH file synchronization with Wake-on-LAN support. Features: - JWT auth (HS256) with bcrypt password hashing - CRUD for machines (with WoL config) and sync_pairs - Ed25519 SSH key generation and known_hosts management - WoL magic packet sender + TCP-connect waiter with backoff - Sync engine: rsync subprocess, per-pair job queue, progress parsing - Homebrew cron parser for scheduled syncs - SSE stream for live job status (queued/waking_up/running/success/failed) - React+TS+Vite+Tailwind SPA embedded via embed.FS - Debian packaging with systemd unit, postinst/prerm/postrm Tech stack: - Go 1.22+ (CGO_ENABLED=0, pure SQLite via modernc.org/sqlite) - chi router for HTTP API - TypeScript + React 18 + Tailwind CSS frontend - Cross-compiled to Linux amd64 for Proxmox LXC deployment Tests: wol (MAC parsing, magic packet), syncengine/queue, scheduler/cron
48 lines
373 B
Plaintext
48 lines
373 B
Plaintext
# Binary output
|
|
syncserver
|
|
*.deb
|
|
dist/
|
|
|
|
# Frontend
|
|
web/node_modules/
|
|
web/dist/
|
|
internal/webui/dist/
|
|
|
|
# Data (runtime)
|
|
data/
|
|
*.db
|
|
*.db-wal
|
|
*.db-shm
|
|
|
|
# Logs
|
|
*.log
|
|
logs/
|
|
|
|
# Environment
|
|
.env
|
|
.env.local
|
|
|
|
# IDE
|
|
.vscode/
|
|
.idea/
|
|
|
|
# macOS
|
|
.DS_Store
|
|
|
|
# Go
|
|
*.exe
|
|
*.exe~
|
|
*.dll
|
|
*.so
|
|
*.dylib
|
|
*.test
|
|
*.out
|
|
go.work
|
|
go.work.sum
|
|
|
|
# Node
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
.pnpm-debug.log*
|