Track every move
Own every moment

Endurain is a self-hosted fitness tracking service, a privacy-first home for your activities, gear and health data. No lock-in, no data mining. Just your training history, on infrastructure you control.

  • AGPL-3.0 open source
  • 100% self-hosted
  • Strava and Garmin sync
Your dataYour server
.gpx · .tcx · .fitManual and bulk import
Strava · GarminSync to Endurain
DockerDeploy in minutes

Our mission

Fitness data belongs to the athlete

Endurain exists because your training history is too personal to hand over to someone else's cloud. It is built for people who want the polish of a modern fitness platform without giving up ownership, privacy, or control.

You own your data

Everything lives on infrastructure you run. Export it, back it up, move it. No gatekeepers, no vendor lock-in, ever.

Privacy by design

Per-activity privacy controls, MFA, SSO and email verification are built in. Share what you choose; keep the rest to yourself.

Truly open source

Licensed under AGPL-3.0 and developed in the open on Codeberg. Read every line, file an issue, or ship a pull request.

Current status

A temporary feature freeze, not a pause

Endurain has grown fast. To keep it healthy, the focus has shifted from shipping new features to strengthening the foundations: clearer module boundaries, more predictable background work, better tests, and safer releases. Bug fixes, security patches, docs and translations continue as usual.

Read the announcement
  • Security and bug fixes
  • Refactors and reliability
  • Docs and translations
  • Tests and CI hardening

Features

Everything you expect, hosted your way

A complete training log with the integrations and quality-of-life features of the big platforms, minus the surveillance.

Activity tracking

Rich activity feeds, maps, and week/month statistics across every sport.

Strava and Garmin

Sync activities, gear and body composition from Strava and Garmin Connect.

Import files

Upload .gpx, .tcx and .fit files one at a time or in bulk. .fit preferred.

Gear tracking

Track bikes, shoes, wetsuits, skis and more, down to component wear.

Health metrics

Log weight, steps and sleep, and follow trends on a dedicated dashboard.

Goals

Define distance or time goals and track progress week over week.

Multi-user and followers

Admin and user roles, follower feeds, and public user profile pages.

MFA and SSO

TOTP multi-factor auth, OIDC/SAML single sign-on and email verification.

Localized and themed

Multi-language, metric or imperial units, and a dark / light theme switch.

Endurain mobile

Your training, in your pocket

The Endurain app records runs, rides, walks and hikes live on a map and uploads them straight to your own server. It works offline, syncs automatically when you reconnect, and signs you in with SSO and MFA.

Coming soon on Google Play Soon Coming soon on App Store Soon

The mobile apps are in active development. Google Play and App Store listings will be available soon.

The Endurain app settings screen.
The Endurain app recording a run on a live map.

Self-host it

Up and running with Docker

Endurain ships as a Docker image and is configured entirely through environment variables. A complete docker compose example lives in the repository. Spin up the stack and open the app.

  1. 1 Copy the example compose and env files
  2. 2 Set your secrets and integration keys
  3. 3 docker compose up -d
docker-compose.yml
services:
  endurain:
    image: codeberg.org/endurain-project/endurain:latest
    ports:
      - "8080:8080"
    environment:
      - DB_HOST=postgres
      - TZ=Europe/Lisbon
    volumes:
      - ./data:/app/backend/data
    depends_on:
      - postgres

  postgres:
    image: postgres:16
    environment:
      - POSTGRES_DB=endurain

Community and support

Built in the open, together

Endurain is developed on Codeberg and shaped by its community. Jump in, ask questions, translate, or help fund the work.

Take back control of your fitness data

Try the live demo, then self-host your own instance in minutes.