{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreibb7uckkhl6ryxmn66pykgheuvvvy6hsvipqsaw2bpj4ssymfogdy",
"uri": "at://did:plc:kdqmqcktioifzh7pkptg7msh/app.bsky.feed.post/3mn2j5nf3ity2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreidl4chr4g4koysfzjeyqh5iajwk5n73kmx3ierdis5olnlvlwo3yy"
},
"mimeType": "image/png",
"size": 290338
},
"path": "/post/5955",
"publishedAt": "2026-05-30T06:56:45.000Z",
"site": "https://lemmy.porn",
"tags": [
"Selfhosted",
"TraceApps",
"0 comments",
"https://github.com/TraceApps/nutritrace",
"Repo",
"Release notes + APK",
"CHANGELOG",
"DEPLOY.md"
],
"textContent": "submitted by TraceApps to selfhosted\n-1 points | 0 comments\nhttps://github.com/TraceApps/nutritrace\n\nNutriTrace is a self-hosted nutrition + wellness tracker, alternative to MyFitnessPal / Cronometer / LoseIt. Runs entirely on your own server: no telemetry, no analytics, no account hosted by anyone but you. First public release was 26 April 2026; currently at v1.0.0-rc.42.\n\nRepo (AGPL-3.0) · Release notes + APK · CHANGELOG\n\n## What’s new in this release\n\n * **AI Meal Photos.** Attach a meal photo and Trace returns an editable FDA-style Nutrition Facts card. Save as Quick Calories (one-off) or as a reusable Food entry in your library. Estimates cover the full ~30-nutrient profile, not just the headline macros.\n * **LiftTrace workout sync.** The sister weightlifting app can now push completed workouts to NutriTrace via the federation API. Sessions appear in Workout History alongside Fitbit / Garmin / Health Connect, and feed the dynamic calorie goal.\n * **Smart Log Voice Input Language picker.** Pick the mic language independently of device locale (useful if your device is set to English but you speak another language at meals).\n * **API Tokens panel** is now open to single-user installs (was multi-user + env-gated before).\n * **Wizard celebration screen** on onboarding completion.\n\n\n\n## Fixes worth calling out\n\n * Local Open Food Facts mirror search returning empty results despite the backend finding real hits (DuckDB Node v1.x VARCHAR shape regression).\n * Tapping a reminder notification on Android no longer just dismisses without opening the app.\n * Env-locked AI deployments now actually run Trace’s tools instead of silently dropping every tool call (this one was invisible: the model would reply in plain text instead of using your real data).\n\n\n\n## App overview (for anyone new)\n\n * Diary: calories, ~30 macros / micros, water, body stats, meal photos, per-day notes\n * Food sources: your own foods, Open Food Facts (with optional local DuckDB mirror for offline / air-gap), USDA, Mealie cookbook federation\n * Saved meals + recipes, copy / move / clone across meal slots and dates\n * Wellness sync: Fitbit, Garmin, Withings, Google Health (Health Connect on Android)\n * Calorie goals: fixed, dynamic (target = base + daily burn), or adaptive TDEE\n * Intermittent fasting tracker with schedules and reminders\n * Optional Trace AI Assistant: multi-provider (Claude / OpenAI / Gemini / any OpenAI-compatible endpoint), BYO key, off by default, browser calls the provider directly so the server never sees your key\n * Multi-user with invites, per-user admin, optional OIDC SSO (Authentik / Pocket-ID / Authelia tested)\n * Android app (Capacitor 8): offline-first SQLite + sync, biometric sign-in, native Health Connect, native barcode scanner\n * Backup: full server ZIP + per-user JSON export / import. Nothing leaves your server.\n\n\n\n## Deployment\n\n\n services:\n nutritrace:\n image: ghcr.io/traceapps/nutritrace:latest\n ports: [\"3000:3000\"]\n volumes: [\"./data:/data\"]\n environment:\n - JWT_SECRET=<long-random-string>\n\n\nFull docker-compose + env reference in DEPLOY.md. Signed Android APK attached to every GitHub release; in-place upgrades work.",
"title": "NutriTrace v1.0.0-rc.42 released: self-hosted nutrition tracker"
}