Repository navigation
Installation
The image is on Docker Hub as
delfus77/switch-library-manager-web (also ghcr.io/delfus77/switch-library-manager-web), for amd64 and arm64.
With Docker Compose, download docker-compose.yml, set the folder of your games and run
docker compose up -d. Or with docker run:
docker run -d \
--name switch-library-manager-web \
--restart unless-stopped \
-p 3000:3000 \
-e PUID=1000 -e PGID=1000 -e TZ=Europe/Madrid \
-v /path/to/appdata:/usr/local/share/switch-library-manager-web \
-v /path/to/your/switch/games:/mnt/roms \
delfus77/switch-library-manager-web
Then open http://localhost:3000 (or the address of your server).
| Setting | Meaning |
|---|---|
-p 3000:3000 |
The port of the web interface |
/usr/local/share/switch-library-manager-web |
Data folder: settings, caches, covers and your keys |
/mnt/roms |
Your games; writable, to organize and compress files |
PUID, PGID
|
The user and group that own your games (id on the host). The app never runs as root |
TZ |
Your time zone, for dates and scheduled synchronizations |
To update, pull the new image and recreate the container: docker compose pull && docker compose up -d.
Ready-made files and step-by-step instructions are below, after the table:
| System | How |
|---|---|
| Synology (DSM 7.2+) | Container Manager project: templates/synology/docker-compose.yml |
| Portainer | App template URL: https://raw.githubusercontent.com/DeLFuS77/switch-library-manager-web/master/templates/portainer.json
|
On every system you need:
-
A folder for the app's data (settings, caches, covers). Put your own
prod.keysthere, dumped from your console; no keys are included or downloaded. - The folder of your games (NSP, NSZ, XCI, XCZ), readable and writable so the app can organize and compress them.
- PUID and PGID: the user and group that own your games folder. The app runs as that user, never as root.
After the installation, open http://<address of the NAS>:3000 and set your folders in Settings. Create an
administrator in Users before the app can be reached from outside your network.
DSM 7.2 or newer, with Container Manager installed from the Package Center.
- In File Station, create the folder
docker/switch-library-manager-web(for the app) and, if you do not have one yet, a shared folder for your games, e.g.Switch. - Find your user and group IDs: over SSH run
id your-user. The first user of a Synology is usually1026, theusersgroup100. - In Container Manager > Project > Create:
-
Project name:
switch-library-manager-web -
Path:
/volume1/docker/switch-library-manager-web - Source: Create docker-compose.yml, and paste templates/synology/docker-compose.yml.
-
Project name:
- Change
/volume1/Switchto the folder of your games, andPUID/PGIDif yours are different. Click Next and Done: the image is downloaded and the app starts.
As a template (it appears in App Templates with its icon and fields):
- In Settings > App Templates, set the URL to
https://raw.githubusercontent.com/DeLFuS77/switch-library-manager-web/master/templates/portainer.jsonand save. - In App Templates, choose Switch Library Manager Web, set the folder of your games and PUID/PGID, and deploy it.
As a stack: in Stacks > Add stack, paste docker-compose.yml, set the folders and deploy it.
- Synology: Container Manager > Project > the project > Action > Build (it pulls the new image), or Image > Update when it shows that a new version is available.
- Portainer: the container > Recreate with Pull latest image, or the stack > Pull and redeploy.
The data folder keeps the settings, users and covers, so nothing is lost when the container is recreated.
Search for Switch Library Manager in the Apps tab and install it. The port, folders and user (99:100) are
filled in, and can be changed when installing or later with Edit. Set Switch library to the share with your
games, for example /mnt/user/switch, and copy your keys to /mnt/user/appdata/switch-library-manager-web/.
The template can also be installed by hand: in a terminal on the server run
wget -O /boot/config/plugins/dockerMan/templates-user/my-switch-library-manager-web.xml https://raw.githubusercontent.com/DeLFuS77/switch-library-manager-web/master/templates/switch-library-manager-web.xml
then choose Docker > Add Container and pick switch-library-manager-web in Template. Do not install the
image from the Docker Hub search: the port and folders would be empty.
Download the file for your system from the latest release, unpack it and run the program; nothing has to be installed.
| System | File |
|---|---|
| Windows (most PCs) | …-windows-x64.zip |
| Windows on ARM | …-windows-arm64.zip |
| macOS with Apple chip (M1 or newer) | …-macos-apple.tar.gz |
| macOS with Intel chip | …-macos-intel.tar.gz |
| Linux, PC | …-linux-x64.tar.gz |
| Raspberry Pi 4/5 with a 64-bit system, other ARM 64-bit | …-linux-arm64.tar.gz |
| Raspberry Pi with a 32-bit system | …-linux-armv7.tar.gz |
-
Windows: double-click
switch-library-manager-web.exe; the app opens in the browser. The first time, Windows may show "Windows protected your PC" because the program is not signed: click More info → Run anyway. -
macOS: double-click
switch-library-manager-web, or run it from the Terminal. The program is not signed by Apple, so the first time macOS refuses to open it: right-click it, choose Open and confirm, or runxattr -d com.apple.quarantine switch-library-manager-webin its folder. -
Linux and Raspberry Pi: run
./switch-library-manager-weband open http://localhost:3000 (or the address of the computer from another device).
The program keeps its settings and data next to itself, or in the folder set in the SLM_DATA_DIR environment
variable. Set your folders in Settings. To update, replace the program with the one of the new version: the data
stays. SLM_OPEN_BROWSER=false stops it from opening the browser, true makes it open it on Linux too.
Then read Keys and first start.
Free and open source under the AGPL-3.0. No keys, games or copyrighted content are included or downloaded. Disclaimer