Adds end-to-end Linux compatibility work for the dedicated server: new CI workflow (Ubuntu + Arch), line-ending/executable safeguards, and a local venv-first startup flow with split dependency files for server vs optional host GUI tooling. Improves runtime resilience with better bind error messages, stricter config validation, writable-state checks, cleaner socket/thread shutdown behavior, and SIGTERM-aware graceful stop handling for headless/systemd use. Updates deployment/startup docs and adds portability/runtime integration tests to lock in these behaviors.
24 lines
710 B
Plaintext
24 lines
710 B
Plaintext
[Unit]
|
|
Description=Commonwealth Online Server
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=commonwealth
|
|
Group=commonwealth
|
|
WorkingDirectory=/opt/commonwealth-online
|
|
# Complete setup before enabling this unit:
|
|
# cd /opt/commonwealth-online
|
|
# ./start.sh --update-dependencies
|
|
# Do not install dependencies from ExecStart.
|
|
ExecStart=/opt/commonwealth-online/.venv/bin/python -u /opt/commonwealth-online/consumer_server_cli.py serve --config /opt/commonwealth-online/commonwealth-server.json
|
|
Restart=on-failure
|
|
RestartSec=5
|
|
StandardOutput=journal
|
|
StandardError=journal
|
|
# Do not run as root. Create the commonwealth user/group first.
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|