Self-hosted outdoor activity tracker 🚴 https://docs.fittrackee.org
  • Python 71.2%
  • Vue 17.1%
  • TypeScript 10.2%
  • HTML 0.6%
  • SCSS 0.5%
  • Other 0.3%
Find a file
Sam 986a2c7b73
All checks were successful
Codespell / Check for spelling errors (push) Successful in 49s
fix badges in README.md
2026-05-17 18:54:50 +02:00
.devcontainer Client - replace yarn with npm 2026-04-29 08:35:54 +02:00
.forgejo bump to 1.3.0 2026-05-17 17:32:11 +02:00
.github/workflows CI - move publishing of packages and images into a dedicated workflow 2026-05-14 17:32:07 +02:00
.vscode Remove Vue.vscode-typescript-vue-plugin 2025-11-21 16:42:43 +02:00
db bump to v1.0.0b1 2025-09-10 21:49:34 +02:00
docker Docker - update files for dev 2024-12-27 09:42:11 +01:00
docsrc bump to 1.3.0 2026-05-17 17:32:11 +02:00
e2e tests - update timeout on e2e tests 2026-03-15 10:42:26 +01:00
fittrackee bump to 1.3.0 2026-05-17 17:32:11 +02:00
fittrackee_client bump to 1.3.0 2026-05-17 17:32:11 +02:00
.coveragerc API - update python dependencies 2021-01-31 18:40:20 +01:00
.dockerignore Docker - update files for production 2024-12-27 09:44:06 +01:00
.env.docker.dev API - update .env files 2025-12-24 09:16:34 +01:00
.env.docker.example Docker - allow Gunicorn to log to stdout 2026-03-16 13:33:35 +01:00
.env.example Docker - allow Gunicorn to log to stdout 2026-03-16 13:33:35 +01:00
.gitignore remove docs/ directory 2026-04-29 19:04:11 +02:00
babel.cfg API - init user public workouts RSS feed 2025-08-27 11:05:40 +02:00
CHANGELOG.md bump to 1.3.0 2026-05-17 17:32:11 +02:00
CONTRIBUTING.md bump to 1.3.0 2026-05-17 17:32:11 +02:00
docker-compose-dev.yml Fix healthcheck for db initialization 2025-11-18 12:09:48 +02:00
docker-compose.yml bump to 1.3.0 2026-05-17 17:32:11 +02:00
docker-entrypoint-dev.sh make broker available to allow using dramatiq CLI directly 2025-04-06 08:28:00 +02:00
docker-entrypoint.sh Docker - allow Gunicorn to log to stdout 2026-03-16 13:33:35 +01:00
Dockerfile Client - replace yarn with npm 2026-04-29 08:35:54 +02:00
Dockerfile-dev Client - replace yarn with npm 2026-04-29 08:35:54 +02:00
LICENSE update license to AGPLv3 2021-11-03 17:08:14 +01:00
Makefile remove docs/ directory 2026-04-29 19:04:11 +02:00
Makefile.config Client - replace yarn with npm 2026-04-29 08:35:54 +02:00
messages.pot API & Client - add skating sports and equipment type 2026-03-07 17:22:46 +01:00
poetry.lock update python dependencies 2026-05-14 19:49:42 +02:00
pyproject.toml bump to 1.3.0 2026-05-17 17:32:11 +02:00
README.md fix badges in README.md 2026-05-17 18:54:50 +02:00
SECURITY.md Create SECURITY.md 2022-03-12 17:10:06 +01:00
VERSION bump to 1.3.0 2026-05-17 17:32:11 +02:00

FitTrackee

A simple self-hosted workout/activity tracker.

Python Version Flask Version code formatter: ruff type check: mypy
Vue Version code formatter: prettier Typescript Version
PostgreSQL version PostgreSQL version
PyPI version docker image version
Coverage Status1 python pipeline status javascript pipeline status
translation status translation languages
Matrix Mastodon Follow

Web application allowing tracking of outdoor activities (workouts) from files,
with data on your own server.

Several mobile apps or devices can store workouts data locally and export them into a file.
Examples for Android (non-exhaustive list):

To get workouts from devices like smartwatches:

  • Amazfish (Sailfish OS, GPLv3, integration with FitTrackee from v2.9.0)
  • Gadgetbridge (Android, GPLv3, no integration)

It is also possible to add a workout without a file.

Map data from OpenStreetMap.

Repositories

The main repository is hosted on Codeberg.org.
The Github repository is a mirror (except for issues and PRs). For now, it is used to run tests, as well as to build and publish Python packages and Docker images using GitHub Actions (see issue).

Documentation

Under heavy development (some features may be unstable).
(see provisional roadmap, issues and documentation for more information)

FitTrackee Dashboard Screenshot

Translations

FitTrackee uses Weblate for translation management.

Status (on development branch, may differ from the released version):

Translation status


1: test coverage: only for Python API and CLI