openNutrition / FAQ
Questions, answered straight.
Including the ones a marketing page would rather skip.
The basics
What is openNutrition?
A tracker for food, drinks, supplements and body weight that runs on your own server. It is the sister app of openGym and is made for people who train, though nobody checks.
Is it free?
Yes. The code is licensed AGPL-3.0-or-later. There is no subscription and no premium tier, and nothing in it needs a paid API key.
What you do pay for is your own server. A small box under the desk is enough.
When is it public?
There is no date yet. Today it is version 0.1, in daily use by its author, and the repository is private while the beta runs. One thing has to happen first either way: a check of the name.
Promising a date now would be guessing, so this page does not.
Can I try it now?
Only with an invite. The test instance is reachable over a VPN only, and the repository is private.
Is there an iPhone or Android app?
Today it is a web app that you install on your home screen. That works on iPhone and on Android, and it opens like any other app. How to install it
An iPhone app for your own server is in preparation. Nothing is in the App Store or on Google Play yet.
Which languages does it speak?
Six: English, German, French, Italian, Spanish and Portuguese. Food search works in all of them, and the Swiss foods come with German, French, Italian and English names.
Is this the same as opennutrition.app?
No. That is a different project with a similar name, built around an open food dataset. The two are unrelated: different people, different code, and openNutrition does not use its data.
Because of that overlap the name still has to be checked before a public release.
openGym and other apps
Does it need openGym?
No. openNutrition works fully on its own. Linking openGym is optional. If you do, your weigh-ins, training days and lifts show up next to your diet.
Why not build on OpenNutriTracker?
OpenNutriTracker is a phone app that keeps everything on the phone, with no server and no sync. openNutrition starts from the other end: a server you host, with accounts, an API and the openGym link. The two are also written in different languages, Flutter there and web here, so there is no shared foundation to build on.
Its ideas are welcome, and it stays a good choice if you want a simple app that lives on one phone.
Can I bring my history from another app?
Yes. Food and weight exports from MyFitnessPal, Cronometer and Lose It! are supported, and so is a plain CSV. You get a preview first, and one tap undoes the whole import if it was not what you wanted.
Food data and AI
Where does the food data come from?
From open sources, and every record says which one:
- USDA FoodData Central for generic foods and detailed nutrients.
- The Swiss Food Composition Database for Swiss foods.
- Open Food Facts for packaged products and barcodes.
- The NIH Dietary Supplement Label Database for supplement labels.
Products nobody has yet can be added on your own server.
How many foods are in it?
Out of the box, few: 363 USDA foods and 14 supplement labels. That seed is small on purpose. After you import the USDA and Swiss datasets, the catalogue holds roughly 14,800 foods. Packaged products come on top, fetched from Open Food Facts the first time someone scans them.
Does an AI see my data?
Not unless you set one up. AI is off by default and is only used for pictures: meal photos and photographed nutrition labels.
With a local model (Ollama), the photo never leaves your server. With an API key for a hosted model, the provider counts as a third party: each user has to switch that on first, and then only the photo is sent, resized and without metadata.
Search, "describe your meal", your targets and the weekly check-in use no AI at all. That part is ordinary maths.
Who can see my diary?
You. And, as with anything self-hosted, whoever runs the server could look into the database. So pick a server you trust, ideally your own.
You can also share a read-only link with a coach. It shows four weeks and you can revoke it.
What leaves my server?
The barcode or the search words you look up online, when you scan a product or press the online search button. No account data goes with it. Product pictures from Open Food Facts load from their servers when shown.
There are no ads, no analytics and no telemetry.
Targets and tracking
How are my targets calculated?
It starts with a formula: resting energy from the Mifflin-St Jeor equation, times an activity factor. That is only the first guess.
After about two weeks of logging and a few weigh-ins, the app measures instead: what you ate, minus the energy your trend weight gained or lost. Your goal pace is then added or taken away, at 7,700 kcal per kg. Each weekly check-in moves halfway to the new number, and you approve it.
The app has a screen that shows all of this with your own values and the sources. The short version is here
Can I use it without counting calories every day?
Yes. Nothing forces a full diary. You can log only supplements, water or your weight, and choose rings for what you care about, protein and water for example.
The honest catch: the measured burn needs about two weeks of fairly complete logging plus a few weigh-ins. Until then the app says "not measured yet" and keeps the formula. And a day with a missing value is shown as "at least", never as if it were complete.
Do I eat back my workout calories?
No. The app shows what a session roughly cost, but never adds it to your target. Your measured burn already contains your training, so eating it back would count it twice.
Is this medical advice?
No. The numbers are starting points from published research, and you can change every target by hand. For supplements the app shows what the label says and gives no dosing advice. If something about your health worries you, talk to a doctor, not to an app.
Running it yourself
What do I need to run it?
A machine with Docker and Docker Compose. Compose starts PostgreSQL and the app. For the camera and for push reminders the app has to be reachable over HTTPS. Getting started
Can several people use one server?
Yes. Everyone gets their own account and their own data. The first account becomes the admin, and you can close registration once everyone is in.
How do I back it up?
Dump the PostgreSQL database, and copy the uploads volume if people keep their meal photos. Both are one command each. Backup and restore
Every user can also export their own data as JSON or CSV in Settings.
Does it work offline?
Partly. The installed app shows the screens it loaded last and queues food, drinks, supplement intakes and weigh-ins until you are back online. Search beyond cached results, new recipes and settings need a connection.