- 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
35 lines
1.0 KiB
TOML
35 lines
1.0 KiB
TOML
[package]
|
|
name = "scopenet-panel"
|
|
description = "ScopeNet admin panel: manages instances, branding and players for the launcher"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
scopenet-shared.workspace = true
|
|
scopenet-core.workspace = true
|
|
anyhow.workspace = true
|
|
thiserror.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
tokio.workspace = true
|
|
reqwest.workspace = true
|
|
futures.workspace = true
|
|
sha1.workspace = true
|
|
hex.workspace = true
|
|
uuid.workspace = true
|
|
zip.workspace = true
|
|
tracing.workspace = true
|
|
chrono.workspace = true
|
|
rand.workspace = true
|
|
axum = { version = "0.8", features = ["multipart", "macros"] }
|
|
tower = { version = "0.5", features = ["util"] }
|
|
tower-http = { version = "0.6", features = ["fs", "trace", "compression-gzip", "set-header"] }
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
|
|
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio", "sqlite", "derive"] }
|
|
argon2 = "0.5"
|
|
jsonwebtoken = "9"
|
|
percent-encoding = "2"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|