Add server control (start/stop/restart, live logs, broadcast, kick) to webadmin
Docker SDK drives login/char/worldserver containers via docker.sock (mounted read-only into webadmin); live logs stream over SSE with nginx buffering disabled so lines arrive in real time. Broadcast/kick go through a new admin_queue DB table that the world server polls every ~2s in its existing WorldProcess tick loop, avoiding a second IPC channel to the game server.
This commit is contained in:
1 parent
3554c85f2f
commit
15e562cb04
11 files changed
+331
-2
No files matched your search
@@ -104,6 +104,13 @@ services:
|
||||
DB_NAME: ${DB_NAME:-ktrose}
|
||||
ADMIN_SECRET_KEY: ${ADMIN_SECRET_KEY:-change-me-too}
|
||||
ADMIN_MIN_ACCESSLEVEL: ${ADMIN_MIN_ACCESSLEVEL:-900}
|
||||
COMPOSE_PROJECT_NAME: ${COMPOSE_PROJECT_NAME:-ross}
|
||||
volumes:
|
||||
# Lets the panel start/stop/restart the login/char/world containers and
|
||||
# stream their logs via the Docker API. Grants the container
|
||||
# effectively root-equivalent access to the host -- acceptable here
|
||||
# since the panel sits behind GM-only login and isn't internet-exposed.
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
expose:
|
||||
- "8080"
|
||||
depends_on:
|
||||
|
||||
Reference in new issue
Block a user