A Docker setup for Lost City RS
This is a simple, Docker-based solution for running Lost City RS. It offers:
- Prebuilt Docker images for both
x86_64andaarch64, leveraging GitHub Actions: simply pull the provided image for your architecture and get started - The ability to run Lost City RS configured for any of its supported
versions: prebuilt images for all fully playable versions ranging from
225to254are provided - Seamless, automated database migrations: when pulling the latest Docker image and re-creating the container, migrations are applied automatically to keep your database up-to-date at all times
The setup was created for personal use and its scope is limited to the following:
- A single world
- SQLite as the database backend
- Usage of the web client (it is not intended to expose ports other than the web client port)
- Accounts can be directly created through the web client (this means that to disable public access, the web client has to be access-protected by other means, e.g., a reverse proxy with HTTP basic authentication)
Other configurations are probably possible, but not tested and unsupported.
Note
The Docker images are built on a daily schedule, unless there have been no new commits to Lost City RS since the last build. Additionally, every Monday, the latest images are rebuilt to ensure software and dependencies are up-to-date, even if there have been no updates to Lost City RS itself.
- Docker (including Compose V2)
First, clone the repository and create a copy of the Docker Compose example configuration:
git clone https://github.com/mserajnik/lostcityrs-docker.git
cd lostcityrs-docker
cp ./compose.yaml.example ./compose.yamlNext, adjust your compose.yaml. The first thing to decide on is which Docker
image you want to use based on the version of Lost City RS you want to run.
You can currently choose from the following versions:
| Supported version | Image |
|---|---|
254 |
ghcr.io/mserajnik/lostcityrs:254 |
245.2 |
ghcr.io/mserajnik/lostcityrs:245.2 |
244 |
ghcr.io/mserajnik/lostcityrs:244 |
225 |
ghcr.io/mserajnik/lostcityrs:225 |
Note
As new Lost City RS versions become fully playable, further images will be added accordingly.
Aside from this, take a look at the environment section of the app service
and make any adjustments necessary for your desired setup.
Once you are happy with the configuration, you can start the Lost City RS for the first time by running:
docker compose up -dThis pulls the Docker image first and afterwards automatically creates and starts the container.
Afterwards, you can open your browser and navigate to
http://localhost:8080/rs2.cgi to access the Lost City RS web client.
From here, feel free to forward the port to the outside world or set up a reverse proxy as you see fit.
To stop Lost City RS, simply run:
docker compose downWarning
Switching to a different Lost City RS version by changing the Docker image tag is currently not supported. Upstream database migrations differ between supported versions and branches, so changing versions may leave your existing setup in an unusable state. If you want to move to a different version, treat it as a fresh installation and make backups of your persisted data first.
To update, pull the latest image:
docker compose pullAfterwards, re-create the container:
docker compose up -dIt is recommended to regularly check this repository (either manually or by
updating your local repository via git pull). Usually, the commits here will
just consist of maintenance and potentially new Lost City RS configuration
options (that you may want to incorporate into your configuration).
Sometimes, there may be new features or changes that require manual intervention. Such breaking changes will be listed here (and removed again once they become irrelevant).
You are welcome to help out!
Open an issue or make a pull request.
AGPL-3.0-or-later © Michael Serajnik