1.3 KiB
Server deployment
Publish a locked, self-contained server from the repository root:
./scripts/publish-server.ps1
./scripts/publish-server.ps1 -Runtime linux-x64
./artifacts/server/win-x64/VoiceCat.Server.exe --help
The default endpoint is TCP and UDP port 8384. The server creates its TLS identity and SQLite
database in the data directory. Account passwords are accepted only through a hidden prompt,
redirected standard input, or VOICECAT_ADMIN_PASSWORD; they are never command arguments.
./artifacts/server/win-x64/VoiceCat.Server.exe account add Operator --admin --data-dir ./voicecat-data
./artifacts/server/win-x64/VoiceCat.Server.exe --data-dir ./voicecat-data --allow-guests false
The checked-in Dockerfile builds the managed Linux server. docker-compose.yml runs it as a
non-root user with a read-only filesystem, persistent /data, and TCP/UDP 8384 exposed.
For a host installation, deploy/linux/install.sh installs a published Linux binary and the
systemd unit. Validate a published binary with:
sh deploy/linux/smoke.sh artifacts/server/linux-x64/VoiceCat.Server
The server exposes --health-check host:port for TLS-aware probes. Before release, run the
container and the concurrent client soak:
./scripts/soak-server.ps1 -HostName 127.0.0.1 -Port 8384 -Minutes 30 -Pairs 4