🚀 wger: community package now available
-
TL;DR: wger is a free, open source workout, fitness and nutrition manager. It covers the whole training loop, building routines, logging workouts, tracking body weight and measurements, and planning meals against a searchable ingredient and nutrition database with barcode scanning. Now packaged for Cloudron and ready to install. Requires Cloudron 9.1 or later, tested on 9.2; unofficial and community-maintained.
Links
Project homepage: https://wger.de
Upstream repo: https://github.com/wger-project/wger- 🧱 Cloudron package repo: https://github.com/OrcVole/wger-cloudron
wger has a web UI once installed, and the same REST API also serves the official wger mobile apps for Android and iOS, so this package can be used from a phone as well as a browser.
How to installClick the Add custom app dropdown (top right in the App Store) and choose Community app, then paste the CloudronVersions.json URL into the box that pops up. Apps installed this way receive automatic updates.
https://raw.githubusercontent.com/OrcVole/wger-cloudron/main/CloudronVersions.jsonOr via the CLI:
cloudron install \ --versions-url https://raw.githubusercontent.com/OrcVole/wger-cloudron/main/CloudronVersions.json \ --location wger.example.comMinimums: 2GB RAM, addons localstorage, PostgreSQL, Redis, sendmail, and optionally oidc. No extra subdomain beyond the one the app is installed on.
First run: Cloudron single sign-on is available through the oidc addon; the login page shows a "Sign in with ..." button carrying the Cloudron's own configured name, and a wger account is provisioned automatically on first sign-in. Public self-registration stays disabled either way, so who can reach the app is controlled by the Cloudron's own user and group access. Installing without user management is also supported (optionalSso); the app then falls back to purely local accounts, and no stale login button is left behind. Either way, the admin account is created with a random password on first run, generated by the package rather than left at any upstream default.
For usersWhy try it: a self-hosted alternative to commercial workout and nutrition trackers, with the same mobile apps you would use against the hosted service. What you get: routine building, workout logging, body measurement tracking, a searchable nutrition and ingredient database with barcode scanning, and a gym management mode for trainers administering members. Cloudron wins: single sign-on, automatic backups, one-click updates, all persistent state under
/app/data. Good fit if you want a self-hosted fitness tracker with working mobile app support; probably not if you specifically need the mobile apps' offline sync, which this package does not include (see below).🧰 For packagers: what we learned
What helped: the oidc addon covered Cloudron SSO cleanly against wger's existing django-allauth support; PostgreSQL, Redis and sendmail addons covered the rest of the state without needing anything bundled.
What was tricky: three upstream behaviours needed working around: a migration that runs
CREATE PUBLICATION ... FOR ALL TABLES, which requires database superuser privilege that managed PostgreSQL addons do not grant, so it is recorded as applied without running; wger's own bootstrap check treats a half-initialised database (tables present, no admin user) as already initialised, so an interrupted first run needs to be caught before that point; and thewgerCLI reads$HOME/.invoke.yamlon startup, which fails under a process supervisor that leavesHOME=/rootafter dropping privileges, fixed deployment-side by exporting HOME.Still rough: PowerSync, the component upstream uses for offline mobile sync, is not included in this package version. Ordinary online use of the web app and the official mobile apps is verified working end to end; offline sync on the mobile apps is the one feature this version does not provide. This was a scope decision for the first version, not a dead end, and may be revisited later.
️ For the Cloudron teamMaintenance burden: wger releases at a moderate pace, and the package is a fairly thin wrapper: gunicorn, a Celery worker and beat scheduler, and nginx under supervisor, with all state in addons or
/app/data. Why it suits the App Store: fitness and health tracking is a category with real demand and no existing entry, the upstream is a clean AGPL-3.0 project with a reference docker-compose file to work from, and the official mobile apps work against this package's API. Before publishing, the package went through a full acceptance ladder: install, authentication, functional flows including byte-verified media, a real platform update, a backup restore, and memory sizing under load. Friction worth knowing: the three upstream quirks above (a superuser-only migration, a bootstrap check that misreads a half-initialised database, and a CLI that needs a readable HOME) are all documented and worked around package-side; none required changes to the manifest or addon contract itself.
For wger's developersA few low-effort changes would help packagers generally: catching the superuser-privilege error in the
core.0023_create_publicationmigration (or gating it behind a setting) so deployments without PowerSync are not forced to fake-apply it; makingwger bootstrapresumable by checking whether any user exists rather than only whether the users table exists, so an interrupted first run is not left half-done; and making the CLI's invoke-based startup tolerant of an unreadable or root-owned HOME, for example withload_user=False. None of these blocked packaging, and the application itself packaged cleanly overall. Package source and pull requests are welcome at the repo above; happy to co-maintain.
UnlocksSelf-hosting a full workout and nutrition tracker under Cloudron's own user management, backups and update mechanism, with the official mobile apps working against it out of the box.
Feedback, bug reports, and "works on my install" confirmations all welcome below.
-
If you are horrified to see google store and apple store 'links' inside wger after you install it, as we were, don't worry!
Are they a telemetry risk? No, verified, not assumed. The store badges are SVGs baked into our image and served by our own nginx; the live page references zero external assets (every third-party URL on the page is a click-target only). Google, Apple, and Flathub learn nothing about you or your users unless someone deliberately clicks a badge. Upstream did this right.
-
L LoudLemur referenced this topic
-
wger dev here, happy to answer any questions you might have

-
The wger maintainers kindly added our community package to their official documentation:
https://wger.readthedocs.io/en/latest/installation/index.html
-
@roliG Wow! This is fantastic to have the maintainers here! Thank you very much for saying, "Hello"!
There were some notes specifically for wger developers here, which you might already have seen:
https://github.com/OrcVole/wger-cloudron/blob/main/docs/FOR-UPSTREAM.md
-
Do you think "1-Click" deployment of wger might help make it a much more widely used applcation?
-
Which other application would you like cloudron to support, something which might help you or wger?
-
We tried quite hard to make sure our wger package would work well when wired up with other AI related applications, particularly the ones Cloudron already supports. Have you tried using wger alongside another Cloudron package to see how quickly you can do it and how easily it works?
-
-
Hello @rolig and welcome to the Cloudron forum
I have validated your the mail address you have used in the forum against your GitHub account and added you to the @validated-app-maintainer group. -
@roliG Wow! This is fantastic to have the maintainers here! Thank you very much for saying, "Hello"!
There were some notes specifically for wger developers here, which you might already have seen:
https://github.com/OrcVole/wger-cloudron/blob/main/docs/FOR-UPSTREAM.md
-
Do you think "1-Click" deployment of wger might help make it a much more widely used applcation?
-
Which other application would you like cloudron to support, something which might help you or wger?
-
We tried quite hard to make sure our wger package would work well when wired up with other AI related applications, particularly the ones Cloudron already supports. Have you tried using wger alongside another Cloudron package to see how quickly you can do it and how easily it works?
@LoudLemur yes, I saw the notes. They all make sense, I'll try to fix them for the next version (specially the one about needing superuser rights for one of the migrations)
Sometimes users ask how to install the application on their NAS or other docker management system and since the config sometimes needs a bit of massaging and I haven't used that system, I can rarely help directly. So having a working 1-Click install is always useful!
-
-
@LoudLemur yes, I saw the notes. They all make sense, I'll try to fix them for the next version (specially the one about needing superuser rights for one of the migrations)
Sometimes users ask how to install the application on their NAS or other docker management system and since the config sometimes needs a bit of massaging and I haven't used that system, I can rarely help directly. So having a working 1-Click install is always useful!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login