- Serve the session WebSocket on `/` through axum
(`Session::from_axum`) with a 1 MiB message limit
- Add `/health` (checks the database) and a `server healthcheck`
subcommand used by the Dockerfile HEALTHCHECK
- Shut down on SIGTERM/Ctrl+C so container stops are immediate
- Move per-connection handler registration into `register_handlers`
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- Read bind address and database URL from BIND_ADDR / DATABASE_URL
(defaults unchanged for local cargo run)
- Rename DockerFile to Dockerfile and rewrite it: current Rust for
edition 2024, BuildKit cache mounts, non-root user, DB on /data
- Add compose.yaml publishing ${HOST_PORT:-8080} with a persistent
data volume, and a .dockerignore
Co-Authored-By: Claude Opus 5.5 <[email protected]>