Updating and backups
Updating
Section titled “Updating”cd 3mf-librarydocker compose pulldocker compose up -ddocker image prune -f # optional: remove the old imageUpdates migrate the data folder by themselves. If a new version reads files differently, it re-reads the library once after the update; the site stays usable while that happens.
Pinning a version
Section titled “Pinning a version”latest is built from every change on the main branch. To decide yourself when to update, pin a released version in
.env:
IMAGE=ghcr.io/jurjen74/3mf-library:1.0.0Released images are tagged with the full version (1.0.0) and the minor version (1.0, which moves along with fixes).
Changes are listed on the GitHub releases page.
What’s in data/
Section titled “What’s in data/”| What | Back it up? | |
|---|---|---|
users.db |
Accounts and favourites | Yes. It can’t be rebuilt. |
keys/ |
Keys for login cookies and slicer links | Optional; without them everyone simply logs in again |
library.db* |
The index of your library | No: rebuilt from the library |
cache/ |
Previews, rendered images, 3D meshes | No: rebuilt from the library |
A simple backup while the site runs (needs sqlite3 on the host):
sqlite3 data/users.db ".backup 'users-backup.db'"Or stop the container and copy the whole data/ folder.
Starting the index afresh
Section titled “Starting the index afresh”The index and previews are a cache. If something looks wrong, rebuild them:
docker compose downrm -rf data/library.db* data/cachedocker compose up -dAccounts and favourites are kept.
Moving to another machine
Section titled “Moving to another machine”Copy .env, docker-compose.yml, compose.nfs.yml and data/users.db (and data/keys/ to keep everyone logged in)
to the new machine, make sure it can read the library, and start it. The rest is rebuilt.