fix: clarify sync server build script, produce visible binary

This commit is contained in:
mirivlad 2026-06-20 03:39:01 +08:00
parent dc4507a7ab
commit 5e2be2b888
2 changed files with 39 additions and 23 deletions

View File

@ -14,24 +14,24 @@ This server provides synchronization between devices running Verstak2. It handle
## Quick Start ## Quick Start
```bash ```bash
# Build # Build (produces binary at build/bin/verstak-sync-server)
go build -o verstak-sync-server ./cmd/server ./scripts/build.sh
# Run # Run
./verstak-sync-server -port 47732 -data ./server-data ./build/bin/verstak-sync-server --port 47732 --data ./server-data
# First run with admin user # First run with admin user
./verstak-sync-server -admin-user admin -admin-pass secret ./build/bin/verstak-sync-server --admin-user admin --admin-pass secret
``` ```
## Configuration ## Configuration
| Flag | Default | Description | | Flag | Default | Description |
|------|---------|-------------| |------|---------|-------------|
| `-port` | 47732 | HTTP port | | `--port` | 47732 | HTTP port |
| `-data` | ./server-data | Data directory | | `--data` | ./server-data | Data directory |
| `-admin-user` | | Create admin user (first run) | | `--admin-user` | | Create admin user (first run) |
| `-admin-pass` | | Admin password (first run) | | `--admin-pass` | | Admin password (first run) |
## Architecture ## Architecture

View File

@ -1,21 +1,37 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
OUTPUT_DIR="$REPO_ROOT/build/bin"
BINARY="$OUTPUT_DIR/verstak-sync-server"
echo "=== verstak-sync-server build ===" echo "=== Verstak Sync Server Build ==="
if [ -f "$ROOT/go.mod" ]; then
echo "[go build]" # Check dependencies
(cd "$ROOT" && go build ./...) if ! command -v go &>/dev/null; then
echo " ✅ go build" echo "❌ go not found"
if go test -list . ./... &>/dev/null 2>&1; then exit 1
(cd "$ROOT" && go test -count=1 ./... 2>&1 || true)
else
echo " no tests"
fi
else
echo " repository empty — no build target yet"
echo " 📝 This repo will hold the Verstak sync server (CRDT-based)"
fi fi
echo "✅ go $(go version | awk '{print $3}')"
# Clean
rm -rf "$OUTPUT_DIR"
mkdir -p "$OUTPUT_DIR"
# Build
echo "→ Building server binary..."
cd "$REPO_ROOT"
go build -o "$BINARY" ./cmd/server
echo "✅ Binary built: $BINARY"
ls -lh "$BINARY"
# Tests
echo "→ Running tests..."
go test ./...
echo "✅ Tests passed"
echo "" echo ""
echo "✅ build passed (no-op)" echo "=== Build Complete ==="
echo "Binary: $BINARY"
echo "Run: $BINARY --help"