- Add build args for user/group. - Lots of cleanup and adjustments for safety and efficiency. - Update LSB submodule ref. |
||
|---|---|---|
| config | ||
| docker | ||
| server@f283f72fdb | ||
| .dockerignore | ||
| .gitignore | ||
| .gitmodules | ||
| LICENSE | ||
| README.md | ||
| docker-compose.alpine.yml | ||
| 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 just rebuilds the executables if needed. Use
--no-cachefor a full clean build.
- Builds the image. With caching, this basically just rebuilds the executables if needed. Use
-
docker compose down- Shuts down and removes the containers.
Updating
git submodule update --remote --merge- This will pull the latest changes from upstream LSB. Run
docker compose up --build --detachagain to rebuild and start/restart the containers. - You can also just change to the server directory and treat it as its own repo (change branch, fork, apply patches, etc.)
- This will pull the latest changes from upstream LSB. Run
Alpine
Alpine Linux is a minimal image that comes in at about half the size of the Ubuntu image (excluding bind mounted files/directories). The Alpine build is experimental and unsupported by LSB. It uses a newer version of GCC and the musl libc. Use at your own risk.
docker compose -f ./docker-compose.yml -f ./docker-compose.alpine.yml up --build --detach
Notes
- The image is built with a default user and group named
xiadminwith UID and GID1000.- You can supply the build args
UNAME,UGROUP,UID,GIDto change these.docker compose build --build-arg UID="$(id -u)" --build-arg GID="$(id -g)" --build-arg UNAME="$(whoami)"
- You can supply the build args
- If using WSL with Windows, make sure the project is stored in the WSL file system for best performance.
- You may experience issues related to the system clock. Using
sudo hwclock --hctosysin WSL may help.
- You may experience issues related to the system clock. Using
- Secure database passwords and a default user and database name are generated into
config/.envto simplify the setup process.- Optional - You can manually create this before building the containers with these variables:
Otherwise, the default user isMARIADB_DATABASE= MARIADB_USER= MARIADB_PASSWORD= MARIADB_ROOT_PASSWORD=xiadmin, the default database isxidb, and the password is randomly generated.- If
config/.envis automatically generated, a random initial password for the root user will be generated and printed to stdout (check your build log!)
- If
- Because environment variables are used, the server settings
SQL_LOGIN,SQL_PASSWORD, andSQL_DATABASE(all located in network.lua) are not used.
- Optional - You can manually create 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.