Get started
Three steps. The first one is the only one that takes any thought.
Run the locker
SaveLocker's server is a single container. Put it on whatever's always on at home — a NAS, an unRAID box, a Raspberry Pi, a spare machine in a cupboard. It needs one folder to keep your saves in.
services:
savelocker:
image: ghcr.io/skorcherx/savelocker:latest
container_name: savelocker-server
ports:
- "5080:8080"
volumes:
- ./savelocker-data:/data
restart: unless-stoppeddocker compose up -dOpen http://<your-server-ip>:5080. That's the console, and it's where everything else happens.
Configuration → it's the first card. Until you do, anyone on your network can open the console.
unRAID users: there's a template in the repo, and /mnt/user/appdata/savelocker is the volume path you want.
Join your machines
In the console: Configuration → Enroll a machine. Name the machine if you like, then download the file it gives you and get it onto the machine you're joining.
The file works exactly once and expires in about fifteen minutes. If it expires, make another — they're free.
Download the installer from Releases and run it. On the Enroll this machine page, point it at the file you just downloaded — it'll show you which server and which machine name it's about to join. The machine shows up in your console before the installer has finished closing.
It isn't code-signed yet, so SmartScreen throws up a blue box. Click More info → Run anyway. Signing is on the roadmap. If you'd rather not, you can build it yourself from source.
Do this bit in Desktop Mode.
tar -xzf savelocker-x.x.x-linux-x64.tar.gz
./SaveLocker/install.sh
savelocker enroll --file ~/Downloads/policy.jsonIt installs to your home folder, never to the system — a SteamOS update wipes the system partition and would take SaveLocker with it.
If anything looks off, at any point, ever:
savelocker doctorThat's the command to remember. It checks the whole chain and tells you which link is broken.
Add your games
Open the SaveLocker window — the tray icon on Windows, or SaveLocker from your apps list on the Deck — and go to Add game. It scans and shows you what it found: your Steam library, anything you've added to Steam yourself, and your Heroic games. Tick the ones you want and hit Enroll.
Most games already have their save folder filled in. For the ones that don't, point it at the folder yourself, once.
Steam has to tell SaveLocker when a game starts and stops. In Steam, right-click the game → Properties → Launch Options, and paste this in:
savelocker run -- %command%This is the step people miss. Without it the game still runs, and SaveLocker just never hears about it — so nothing syncs. Once per game, then you're done with it forever.
That's it
Play something. Quit. Check the console — your save is there, with a timestamp and a size.
Then go do the same on your other machine, and stop thinking about it.
Something not working? savelocker doctor on the Deck, and the Help tab in the console covers the rest. If you're stuck, open an issue.