mirror of https://github.com/cocosolos/lsd.git
- Multi-stage build to reduce container sizes. - Separate services for each executable. - Separate database service with volume and secure password generation. - Common configs for LSB services defined in extension field with YAML anchor. - dbtool service that waits on the database and runs before all other LSB services, making sure the database is up to date. - Bind mounting for live edits. - HTTP API server enabled. |
||
|---|---|---|
| server@ce0aad91b7 | ||
| .dockerignore | ||
| .env | ||
| .gitmodules | ||
| Dockerfile | ||
| LICENSE | ||
| README.md | ||
| docker-compose.yml | ||
| entrypoint.sh | ||
| lsd_logo.png | ||
| lsd_logo_circle.png | ||
| mariadb-entrypoint.sh | ||
README.md
LSB Server - Docker
Containerized version of LandSandBoat server emulator.
Pre-configured build and runtime environments for a fast and easy install. Supports live editing on the host machine for a seamless experience.
Usage
docker compose up --build --detach
That's it! All the setup is handled for you. Check out the official LSB documentation for more information. Some adjustments will need to be made while working with Docker. LSD specific information will be added here over time.
-
docker compose stop/docker compose start- Use these to stop/start the server when rebuilding isn't necessary.
-
docker compose build- Builds the image. With caching, this basically means rebuild the executables.
-
docker compose down- Shuts down and deletes the containers.
Notes
- If using WSL with Windows, make sure the project is stored in the WSL file system for best performance.
- To facilitate automatically generating secure database passwords and simplify the setup process, the
.envfile is intentionally empty and untracked by Git.- Optional - You can manually populate this before building the containers with these variables:
Otherwise, the default user isMARIADB_DATABASE= MARIADB_USER= MARIADB_PASSWORD= MARIADB_ROOT_PASSWORD= XI_NETWORK_ENABLE_HTTP=xiadmin, the default database isxidb, and both passwords are randomly generated. - The LSB HTTP API is enabled by default and can be accessed at http://localhost:8088/.
- This can be disabled by setting
XI_NETWORK_ENABLE_HTTP=0
- This can be disabled by setting
- Because environment variables are used, the server settings
SQL_LOGIN,SQL_PASSWORD,SQL_DATABASE, andENABLE_HTTP(located in network.lua) are not used.
- Optional - You can manually populate this before building the containers with these variables:
- Because LSB uses Git during the build and update process, changes to the Git metadata will trigger an image rebuild, but with caching this shouldn't be significant.