Skip to content
Dreeve logo

Dreeve

A self-hosted dashboard for your sports and fitness data.

Strava integration workingchecked Oct 2026Strava import works, but it runs on your own Strava API application, and Dreeve's docs say that since June 1, 2026 Strava requires an active paid subscription to use its API. The app's authorization page asks only for activity:read_all. Dreeve's default file-import mode avoids the Strava API entirely.

A self-hosted, open-source dashboard for your sports and fitness data, formerly called Statistics for Strava. Strava is one of its sources: it can sync your Strava history (read-only, through a Strava API application you register yourself), import FIT, TCX and GPX files, or pull files from Garmin, Wahoo and other platforms through optional connector containers. It turns them into a dashboard, a heatmap, best efforts, segment history, Eddington numbers, a monthly calendar and gear maintenance reminders. Free, no premium tier; you run it yourself with Docker

Used Dreeve with Strava recently? Did it connect?

What is Dreeve?

Dreeve is a dashboard for your sports and fitness data that you host yourself. Two Docker containers, a .env file and a SQLite database in a folder you back up, and it builds a site out of your activities: a configurable dashboard, a heatmap of everywhere you've been, best efforts, segment history, an Eddington number, a monthly calendar, activity photos, gear and maintenance tracking, milestones and a yearly Rewind. It's open source under AGPL-3.0 and free, with no subscription and no premium tier.

Strava is one way in, not the whole foundation. You can sync from Strava, drop in activity files, or run a connector that pulls files out of Garmin, Wahoo, Hammerhead, Polar or Zepp/Amazfit for you.

There is no signup and no hosted account. You install Docker, write a docker-compose.yml and a .env, run docker compose up, and open http://localhost:8080. If you already run a home server or a NAS, that's an evening. If you don't, it's a new skill. The live demo at demo.dreeve.app lets you look around before you install anything.

If you searched for Statistics for Strava, this is it. The project was renamed to Dreeve with v5.0.0 on July 19, 2026: same app, same maintainer, repository moved to dreeveapp/dreeve. The docs give the reason: it grew beyond Strava into a general dashboard for sports and fitness data.

Key Features

Two import modes, and only one of them touches Strava

IMPORT_MODE=files is the default: drop .fit, .tcx or .gpx files into a watch folder (or drag them into /admin/upload) and the daemon container picks them up every five minutes. No Strava account, no API keys, no rate limits, and re-imports of the same activity are skipped as duplicates. IMPORT_MODE=stravaApi pulls from Strava instead and adds what only Strava has: challenges and trophies, plus segments imported from Strava. The two modes are mutually exclusive, though you can switch.

Connectors for Garmin, Wahoo, Hammerhead, Polar and Zepp/Amazfit

Each connector is a separate container from its own repository that fetches your workouts and drops .fit files into the watch folder, so you never export anything by hand. They differ in ways worth reading first. The Garmin and Zepp connectors use unofficial APIs, and the docs warn to expect occasional breakage; Zepp has no native FIT export, so its connector builds the files from Zepp's raw track data. Hammerhead and Wahoo need a free developer application of your own on their sites. Polar's API only hands over exercises uploaded in the last 30 days, and only those uploaded after you connect.

The Strava import is read-only and runs on your own API keys

You register a Strava API application, put the client ID and secret in your .env, and complete an OAuth flow at your own instance to get a refresh token. The authorization page says it only requests the activity:read_all scope. Dreeve paces itself inside Strava's limits (100 requests per 15 minutes, 1,000 a day) and imports up to 250 new activities per run by default, picking up where it left off, so a first import of a long history can take days. One Strava account per instance: two athletes means two instances.

Eddington, heatmap, best efforts, segments

The Eddington number for your distance milestones, a heatmap of every kilometre you've covered, your fastest times at 5k, 10k, 50k, 100k and beyond, and segment history with KOMs and personal bests.

Gear, maintenance and automation rules

Track how much you've used each bike and pair of shoes, with wear tracking and service reminders. Automation rules can assign gear, flag commutes and more as activities come in.

AI workout assistant, bring your own model

You pick a provider and model under Settings, Integrations, with the API key set in the instance's .env file, or point it at a local Ollama container. The docs advise caution when enabling it on an instance that's publicly reachable.

Phone, languages, and an API

It works as a PWA on your phone, has an interface in English, Dutch, German, French, Italian and Portuguese, among others, and an optional HTTP API for uploading activity files and reading or editing activities from other tools.

Actively maintained

235 releases on GitHub since the first in December 2024, five of them between September 30 and October 14, 2026.

Who It's For

  • Anyone who already self-hosts and wants their training data on their own hardware
  • People with data in more than one place: a Strava history, a Garmin account, a Zepp watch, a folder of old FIT files
  • Riders chasing an Eddington number
  • People who don't want a Docker Compose file in their life: this is the wrong app, and a hosted analytics service will suit you better
Is Dreeve the same thing as Statistics for Strava?

Yes. Statistics for Strava was renamed to Dreeve with version 5.0.0 in July 2026: same app, same maintainer, now at github.com/dreeveapp/dreeve. A "dreeve" is West Flemish for a country road lined with trees on both sides.

Does Dreeve sync with Strava?

It imports from Strava, in one direction. In stravaApi mode it reads your activities, segments, segment efforts, challenges and trophies through Strava's API and stores them in a local SQLite database, asking only for the activity:read_all scope. Optional webhooks let Strava tell your instance when an activity is created, updated or deleted, which requires the instance to be reachable over HTTPS. Strava's API doesn't return your full challenge history, so the docs describe a workaround: save the source of your Strava trophy case page into Dreeve's storage folder.

Do I need a paid Strava subscription to use it?

For the Strava import, yes. Dreeve runs on a Strava API application that you register yourself, and its docs say that since June 1, 2026 Strava requires an active paying subscription to use the Strava API; without one, stravaApi mode won't import your activities. That's Strava's rule, not Dreeve's. See our breakdown of the 2026 Strava developer program changes. File import and the connectors need no Strava subscription.

Can I use it without Strava at all?

Yes, and that's the default. Supply .fit, .tcx or .gpx files, or let a connector fetch them, and everything is parsed locally. What you give up is challenges and trophies, which only Strava has. One limitation: Dreeve imports one activity per file, so a multi-sport FIT file (a triathlon recorded as one activity) is rejected; split it into legs first.

Is Dreeve free, and what does hosting cost?

The software is free: no subscription, no premium tier, every feature unlocked. What it costs you is the machine it runs on, plus a Strava subscription if you use the Strava import. The maintainer takes donations through Buy Me a Coffee, and support happens on Discord and GitHub.

Dreeve on the blog

Where Dreeve comes up in our longer write-ups and comparisons.

Hear if Dreeve stops working with Strava, or ships something new

We recheck Dreeve's Strava connection every month. If a check finds it has stopped working, we'll email you then; anything new it ships goes in our mid-month email, with the best new apps. Reply "unsubscribe" any time.

Made Dreeve?

Add this badge to your site to show you're listed here. Every app in the directory gets one, and we link back to your site from this page. How badges work

Dreeve: Listed on Apps for Strava
<a href="https://appsforstrava.com/app/dreeve?utm_source=badge&utm_medium=embed&utm_campaign=listed" target="_blank" rel="noopener">
  <img src="https://appsforstrava.com/badge/dreeve/listed-light.svg" alt="Dreeve: Listed on Apps for Strava" width="250" height="54" />
</a>

Similar Apps