Updating
To update your Docker installation, run:
docker compose pull
docker compose up -d
Alternatively you can use something like Watchtower to update your containers automatically. Back up the data volume (game_db, plus game_covers if you migrated from NocoDB) and the ./games folder before updating.
Database changes
The application applies its SQLite schema migrations automatically on startup. Legacy game records, categories, store links, platform downloads and covers are migrated on first startup; the old NocoDB metadata database is no longer used.
Category names that earlier versions stored on each game are combined into one shared category list on the first start of a version with category management. Names that only differ in upper and lower case (such as Puzzle and puzzle) become one category.
Upgrading to per-game folders and admin settings
This version stores game files as ./games/<Platform>/<game>/<file name> and moves the site customization into the admin app. Update docker-compose.yml along with the image (compare with the current file):
-
Mount
./gamesin both services. The admin service needs write access:admin: volumes: - ./games:/app/public/games - game_db:/app/data - game_covers:/app/data/legacy-covers frontend: volumes: - ./games:/app/public/games:ro - game_db:/app/data - game_covers:/app/data/legacy-coversThis replaces the four per-platform mounts (
./games/Windows,./games/Mac, …) on the frontend. The folder layout on the host is the same. -
Remove the
./cfgmounts.override.cssandfavicon.icoare no longer used. Set the title and upload a logo under Innstillinger (Settings) instead; see Personalization. The site now uses the system font instead of the Raleway font thatoverride.cssloaded. -
Optional: add
start_period: 30mto the adminhealthcheck, so the frontend waits while existing files are moved (see below).
On the first start with ./games mounted, the admin app moves existing game files into per-game folders:
- uploads stored under random names in the data volume (
/app/data/uploads) are moved to./games/<Platform>/<game>/under their original names, - files placed directly in
./games/<Platform>/by older versions are moved into the folder of the game that uses them (a file used by several games is copied to each).
Moving files from the data volume to ./games is a copy across filesystems, so the first start can take a while for large libraries. The admin log reports how many files were moved. Files that cannot be found are left as they are and still listed on the game page. Cover images stay in the data volume.
Until ./games is mounted in the admin container, nothing is moved: new game files keep going to the data volume, and the admin front page shows a warning. This means updating the image before updating docker-compose.yml is safe.