LiftTrace is a self-hosted weightlifting tracker (Docker + Android, AGPL-3.0). rc.5 is the next public roll-up, bundling everything since the rc.4 release.

What’s new

Scheduled automatic backups. Settings → Backup → Schedule lets you pick a time + frequency (daily / weekly). Server installs get an admin UI with optional ENV lock for managed deployments; the Android app does the same for offline-only users, writing scheduled backups to device storage or the share sheet.

Multi-architecture Docker image. The public image at ghcr.io/traceapps/lifttrace now ships both amd64 and arm64 builds, so Raspberry Pi 4 / 5 and other ARM self-hosters can docker compose up -d without building from source.

Default session length raised. From 30 days to 1 year so PWA users stop getting signed out every month. Admins can still set their own session length under Settings → User Management → Session Length.

Better biometric failure path on Android. When a stored auth token has expired, biometric sign-in now surfaces a clear “Session Expired” prompt instead of silently bouncing back to the Login screen with no explanation.

Fixes

  • INSECURE_COOKIES is now called out inline in the example docker-compose.yml with a comment explaining the failure mode (every request 401s after a successful login because the browser drops the Secure cookie over plain HTTP); README troubleshooting entry expanded with the exact Firefox console message that confirms the diagnosis (#4)
  • Sync pulls no longer clobber local pending edits. An incoming server pull respects in-flight local changes instead of overwriting them with older data.
  • Sync now clears local auth state on a 401 response so the user gets prompted to sign in again, instead of the app looping silently on every subsequent request.

Install / upgrade

  • Docker: pull the new image and restart your stack (see the README for compose snippets)
  • Android: signed APK on the release page
  • Full CHANGELOG: main repo

What is LiftTrace?

Self-hosted weightlifting tracker. Diary (sets, reps, weights, RPE, supersets, warm-ups, persistent rest timer, natural-language Smart Add), Programs (mesocycles, templates, week-by-week progression), Exercises (full library from wger / free-exercise-db / exercisedb plus your own custom entries with images, GIFs, or YouTube links), Statistics (volume, PRs, frequency, body stats trends, RPE overlays), Coaching (trainer prescribes workouts to athletes, per-set feedback, two-way reply threads), AI assistant (Claude / OpenAI / Gemini / Ollama, BYOK, opt-in), built-in music player (Subsonic / Jellyfin / Plex / Emby libraries plus Icecast / Shoutcast / HLS streaming stations with lockscreen controls), OIDC SSO (Authentik, Keycloak, Pocket ID, Authelia, Auth0, Google, anything OIDC 1.0), workout import from Strong / Hevy / FitNotes / Jefit CSVs, federation with NutriTrace (auto-log workout calories burned to your NT diary). Docker on the server, Capacitor app on Android. AGPL-3.0 licensed.

  • curbstickle@anarchist.nexusM
    link
    fedilink
    English
    arrow-up
    2
    ·
    7 days ago

    I like the differentiation, but yeah it is going to make things much more complicated. Maybe icon color/theme color set per category for the same (but much easier) level of visible differentiation?

    To be clear the add button and count are present, just hidden by the svg in the banner.

    Right now creating some json of exercises I do to test import, manual creation after that, and (as long as the kids cooperate) I’ll get a workout in for a test too