LiftTrace — self-hosted weightlifting tracker (Docker + PWA + Android), first public release

3 months ago by TraceApps to c/selfhosted

Self-hosted weightlifting tracker — single Docker container, AGPL-3.0, no telemetry, no cloud sync. - TraceApps/lifttrace

Just made LiftTrace public after months of development. It's a self-hosted weightlifting / training log that runs in a single Docker container on your own hardware, with a PWA frontend and a signed Android APK. Sister app to NutriTrace under the same TraceApps umbrella.

LiftTrace Diary

What it does:

  • Diary with sets, reps, RPE, warm-up flagging, supersets, rest timer
  • Smart Add — type or speak your workout ("bench 3x5 @ 225, A1: curls 3x12, A2: pushdowns 3x12") and the AI parses it into structured sets
  • Programs with mesocycles, weekly templates, coach prescriptions for trainer / athlete pairs
  • Exercise library seeded from wger + Free Exercise DB (~1,500 exercises with images), plus your own custom uploads
  • Statistics: volume, PRs, frequency heatmap, body weight trends
  • OIDC SSO for Authentik, Keycloak, Pocket ID, Authelia, Auth0, Google, etc.
  • Workout History Import from Strong, Hevy, FitNotes, and Jefit CSVs (so you don't lose your history switching over)
  • Radio player built in for Subsonic / Jellyfin / Plex / Emby plus internet stations (because lifting and lockscreen media controls > switching apps mid-set)
  • AI coach with live workout context — bring your own Claude / OpenAI / Gemini key, or point it at Ollama / LM Studio / any OpenAI-compatible endpoint
  • Android app with offline-first SQLite, biometric sign-in, native ExoPlayer, optional WorkManager reminders

Self-hosted principles:

  • AGPL-3.0, source is open, no telemetry, no central server, no analytics, no cloud sync to anybody else
  • Single Docker container + bind-mounted volumes for DB and uploads
  • Your data stays on your hardware. Back up with cp, restore with cp.

Quick start:

services:
  lifttrace:
    image: ghcr.io/traceapps/lifttrace:latest
    ports: ["3002:3003"]
    volumes:
      - ./data/db:/data/db
      - ./data/uploads:/data/uploads
    environment:
      - DB_PATH=/data/db/lifttrace.db
      - UPLOADS_PATH=/data/uploads
      - JWT_SECRET=change-me
load all comments
gaiety 38 points 3 months ago

already losing me with the AI art slop

path: 0 23905907, hotness: undefined, score: 38, children: 1
TraceApps -6 points 3 months ago

Sorry to hear that. It's completely optional and you can go minimalistic with no banner if you so choose. Try it out and hopefully it works for you.

path: 0 23905907 23905981, hotness: undefined, score: -6, children: 0
selfhosted
selfhosted

@lemmy.world

login for more options
61580
6654
5580

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

Detailed Rules Post

  1. Be civil.

  2. No spam.

  3. Posts are to be related to self-hosting.

  4. Don't duplicate the full text of your blog or readme if you're providing a link.

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require active participation, with an account that is at least 30 days old. F/LOSS without a paywall has exceptions, with requirements. See the rules link for details. Tags [CBH] or [AIP] are required, see the links in Rule 8 for details.

  8. AI-related discussions and AI-involved promotional posts have additional requirements for tagging, as noted in Rule 7 and the AI & Promotional Post Expanded Rules post, and find example disclosures here.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

go to feed...