Installation

FitTrackee can be installed:

  • via a single Python package from PyPI,

  • from sources,

  • with a Docker image.

Thanks to contributors, packages are also available on Yunohost and NixOS.

Main dependencies

This application is written in Python (API) and Typescript (client):

Logo, most of sports icons and weather icons are made by Freepik from Flaticon.
FitTrackee also uses icons from Fork Awesome.
Sports icons for Canoeing, Kayaking and Rowing are made by @Von-Birne.
Sport icon for Halfbike is made by @astridx.

Instance types

Single-user instance

For a single-user instance, registration can be disabled.
So all you need is Python and PostgreSQL/PostGIS database if you want to keep the setup simple. A CLI is available to manage user account, user data exports and workouts archives uploads.

Multiple-users instance

Registration can be enabled and maximum number of accounts can be set in the Administration.
It is recommended to set Redis and a SMTP provider for email sending and tasks processing. Alternatively, a CLI is available to manage user accounts, user data exports and workouts archives uploads.

Prerequisites

  • mandatory

    • installation from sources or package:

      • Python 3.10+

      • PostgreSQL 14+

      • PostGIS 3.4+

      • GDAL on the server running the application, if different from the server running the database (GDAL is installed with PostGIS)

    • installation with Docker:

  • optional

    • (recommended) libmagic C library to check mime type on file upload with python-magic. This library may not be installed by default on some operating systems. If not present, a warning will appear in the application logs and files will be uploaded without mime type verification.

      Warning

      This library will be mandatory in version 1.3.0. Note: Docker images already include libmagic.

    • Redis for task queue (for email sending if enabled, for data export requests, and asynchronous archive uploads if enabled) and API rate limits (for installation from sources or package)

    • SMTP provider (if email sending is enabled)

    • API key from a weather data provider

    • elevation data provider

    • Poetry 1.2+ (for installation from sources only)

    • Node 20+ and Yarn (for development only)

Note

If registration is enabled, it is recommended to set Redis and a SMTP provider for email sending and data export requests.

Note

Depending on the operating system and the version of Python installed, additional dependencies may be required, such as gcc or libgdal-dev.

Important

This documentation does not detail how to secure a server. Please refer to the documentation and best practices corresponding to your installation and operating system.