feat(deploy): Docker + Linux server deployment
Multi-stage Dockerfile (builder → export → runtime) producing a 149 MB Ubuntu 24.04 image, verified booting end-to-end on Docker Desktop. vcpkg fetched via shallow git fetch at the pinned baseline, release-only overlay triplets (x64-linux, arm64-linux) to halve intermediate disk usage, and buildtrees deleted within the RUN layer so they never land in the image or the BuildKit cache. Binary cache mount (VCPKG_BINARY_SOURCES) makes subsequent rebuilds restore pre-built packages instead of recompiling. Also adds: - docker-compose.yml for one-command local deploy - .dockerignore (excludes clients/, build/, .git/) - .github/workflows/build-linux.yml — CI cross-build for amd64 + arm64 with downloadable artifacts (primary path for building from Windows) - scripts/build-linux-binaries.sh — local Docker binary extraction fallback - deploy/linux/voicecat.service — hardened systemd unit for bare-metal - cmake/voicecat-toolchain.cmake now auto-wires VCPKG_OVERLAY_TRIPLETS Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
16
docker-compose.yml
Normal file
16
docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
services:
|
||||
voicecat:
|
||||
build: .
|
||||
image: ghcr.io/org/voicecat:latest
|
||||
container_name: voicecat
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8384:8384/tcp"
|
||||
- "8384:8384/udp"
|
||||
volumes:
|
||||
- voicecat-data:/data
|
||||
# Override CMD to customise the server name; add --no-guests to require accounts.
|
||||
command: ["--data-dir", "/data", "--name", "My VoiceCat Server"]
|
||||
|
||||
volumes:
|
||||
voicecat-data:
|
||||
Reference in New Issue
Block a user