Overview
The official image is published atghcr.io/landsandboat/server:latest (Ubuntu-based) and ghcr.io/landsandboat/server:alpine (Alpine-based). The image contains the compiled server binaries, scripts, SQL, and tools — but not a database.
Prerequisites: mesh volumes
Navigation and line-of-sight meshes are shipped in a separate image. You must load them into named Docker volumes before starting the server:losmeshes, navmeshes) persist across container restarts.
Database configuration
A database is not included in the image. You must provide connection credentials via environment variables:Running the server
Docker Compose
Docker Compose is the recommended approach. It manages all services, health checks, and startup order automatically.Volume mounts
Customization
Settings via environment variables
Any setting in asettings/*.lua file can be overridden with an environment variable using the format:
Settings files
For more extensive changes, bind-mount an entire settings file:Modules
Bind-mount a modules directory to load Lua and SQL runtime modules:C++ modules require building a custom image. See Build from source for build-arg options.
Default user
The image runs as userxiadmin (UID 1000, GID 1000). Ensure that bind-mounted files and directories are readable by UID 1000.