Files
SCOPENET-MC/docs/development.md
T
Claude 5dc8a4f2f1 Add Docker image, Compose, CI/CD workflows and docs
- Multi-arch (amd64/arm64) panel image: static musl binary on scratch,
  cross-compiled with cargo-zigbuild (no QEMU), non-root, healthcheck
- docker-compose.yml + .env.example for one-command deployment
- CI: fmt, clippy, tests, web type-checks, Windows launcher build,
  real-network installs of vanilla/Fabric/Quilt/Forge/NeoForge,
  Docker build
- Release: Windows NSIS installer with baked-in panel URL, GHCR image
  push and GitHub release (tag push or manual dispatch)
- README, admin guide, Microsoft auth setup, architecture, development
- rustfmt config and formatting pass

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011ARcGWxLx21FwXJ3yfGriS
2026-09-28 05:19:36 +00:00

1.4 KiB

Development

Requirements: Rust (stable), Node 22. On Linux, also the Tauri deps: libwebkit2gtk-4.1-dev librsvg2-dev libayatana-appindicator3-dev.

Panel

cd panel/web && npm install && npm run build && cd ../..
ADMIN_PASSWORD=adminadmin cargo run -p scopenet-panel     # http://localhost:8080
# UI hot reload: (cd panel/web && npm run dev)            # http://localhost:5173, proxies /api

Launcher

cd launcher && npm install
npm run tauri dev          # full desktop app
npm run dev                # UI only in a browser, with a mock backend (http://localhost:1420)

Browser mock scenarios: ?mock=setup, ?mock=login, ?mock=progress.

Build-time options (environment variables when building): SCOPENET_PANEL_URL, SCOPENET_LOCK_PANEL=1, SCOPENET_REPO=owner/repo.

Tests

cargo test --workspace                                         # unit + panel API tests
cargo test -p scopenet-core --test online -- --ignored        # real installs (needs internet, ~2 GB)
(cd panel/web && npm run check) && (cd launcher && npm run check)
cargo fmt --all && cargo clippy --workspace --all-targets -- -D warnings

Releasing

Push a tag vX.Y.Z or run the Release workflow. It stamps the version into Cargo.toml and tauri.conf.json, builds the NSIS installer on Windows, pushes the multi-arch panel image to GHCR, and publishes the release.