Linux

Where Does Self-Hosted wger Store Data?

Self-hosted wger keeps uploads and database in container paths with host mapping through volumes. Config arrives through env files.

Last updated

wger draws clean lines between disposable and precious. Media uploads and Postgres data persist through named volumes or bind mounts. Static assets regenerate and cache evaporates. Config arrives through env files with connection strings.

Host paths vary by deployment choice while container paths stay fixed. The env file names every credential and URI with overrides beside it. Back up database plus media and skip the rest without regret.

Where wger stores this, by platform

Linux
/home/wger/media

Upload storage in-container with host mapping through volumes or binds. Static regenerates and cache stays out of backups. Postgres is the documented default with SQLite for tests only.

Linux
/opt/wger/config/prod.env

Prod env with database credentials and storage URIs plus override files beside it. Connection strings win over split keys. Object storage configures here when used.

Frequently asked questions

How do I back up self-hosted wger?

Archive the Postgres volume with the media volume together. Static files regenerate and cache stays ephemeral, so those two carry the instance. Host locations vary between named volumes and bind mounts by deployment.

Where is the wger config file?

Edit the prod env file with database credentials and storage URIs, plus overrides beside it. Connection strings take precedence over split keys. Object storage keys configure here when files leave local disks.

Which wger volumes matter?

Uploads need the media volume while static regenerates from code. Redis cache needs nothing archived. SQLite suits only tiny test installs with Postgres as the documented default.

Notice an outdated path? Let us know.