User Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
services:obsolete:fittrackee [2025/05/20 12:23] willyservices:obsolete:fittrackee [2025/05/21 08:21] (current) – external edit 127.0.0.1
Line 2: Line 2:
  
 [[https://samr1.github.io/FitTrackee/en/index.html|FitTrackee]] is an open-source fitness tracker selfhosted application that can also sync with Garmin and Strava. It is aimed at outdoor activities. [[https://samr1.github.io/FitTrackee/en/index.html|FitTrackee]] is an open-source fitness tracker selfhosted application that can also sync with Garmin and Strava. It is aimed at outdoor activities.
 +
 +The main factor that made me abandon FitTrackee in favor of [[services:endurain|Endurain]] is that Endurain provides a better and easier Garmin integration built-in.
  
 ===== Installation ===== ===== Installation =====
Line 7: Line 9:
 Detailed instructions can be found [[https://samr1.github.io/FitTrackee/en/installation.html|here]]. Since version 0.8 there is also a container image and a docker compose example file.  Initially i had installed on bare metal, but since that time i prefer to move to the containerized installation because i do not want to manage myself a PostgreSQL installation on my server for various reasons. Detailed instructions can be found [[https://samr1.github.io/FitTrackee/en/installation.html|here]]. Since version 0.8 there is also a container image and a docker compose example file.  Initially i had installed on bare metal, but since that time i prefer to move to the containerized installation because i do not want to manage myself a PostgreSQL installation on my server for various reasons.
  
-For historical reasons, i will keep the original non containerized installation instructions at the end of this section.+For historical reasons, i will keep the original non containerized installation instructions too for reference, but keep in mind they might be outdated.
  
 As usual, create the dedicated user: As usual, create the dedicated user:
Line 18: Line 20:
 uploads will be stored under **/data/fittrackee/upload** and similarly the database. Logs will be located under **/var/log/fittrackee** remember to logrotate it. uploads will be stored under **/data/fittrackee/upload** and similarly the database. Logs will be located under **/var/log/fittrackee** remember to logrotate it.
  
-=== using containers ===+=== Using containers ===
  
 Download the example docker-compose.yml from [[https://github.com/SamR1/FitTrackee/blob/master/docker-compose.yml|here]] and adapt it to your needs: Download the example docker-compose.yml from [[https://github.com/SamR1/FitTrackee/blob/master/docker-compose.yml|here]] and adapt it to your needs:
Line 79: Line 81:
 </file> </file>
  
-To start FitTrackee see the autostart script below.+Now start the stuff: 
 +<code bash> 
 +podman compose up 
 +</code> 
 + 
 +you might have to stop and start again, since the first start of the database takes some time and the main app might crash. Just wait for the database to be up and running, then restart.
  
 === Without using containers === === Without using containers ===
Line 140: Line 147:
 <file - fittrackee.conf> <file - fittrackee.conf>
 server { server {
-        server_name train.gardiol.org;+        server_name train.mydomain.com;
         listen 443 ssl;         listen 443 ssl;
         listen 8443 ssl;         listen 8443 ssl;
  
-        access_log /var/log/nginx/train.gardiol.org_access_log main; +        access_log /var/log/nginx/train.mydomain.com_access_log main; 
-        error_log /var/log/nginx/train.gardiol.org_error_log info;+        error_log /var/log/nginx/train.mydomain.com_error_log info;
  
         location / {         location / {
Line 158: Line 165:
  
         client_max_body_size 100M;         client_max_body_size 100M;
-        include org.gardiol/certbot.conf;+        include com.mydomain/certbot.conf;
 } }
 </file> </file>
  
-===== Autostart =====+===== Autostart with containers ===== 
 + 
 +To start it, and set it up on boot, as usual follow my indications [[gentoo:containers|Using Containers on Gentoo]], so link the **user-containers** init script: 
 +<code> 
 +ln -s /etc/init.d/user-containers /etc/init.d/user-containers.fittrackee 
 +</code> 
 + 
 +and create the following config file: 
 +<file - /etc/conf.d/user-containers.fittrackee> 
 +USER=fittrackee 
 +DESCRIPTION="The sport and train solution" 
 +</file> 
 + 
 +Add the service to the default runlevel and start it now: 
 +<code bash> 
 +rc-update add user-containers.fittrackee default 
 +rc-service user-containers.fittrackee start 
 +</code> 
 + 
 +===== Autostart without containers =====
  
 Since i use OpenRC, simply drop the following script to /etc/init.d: Since i use OpenRC, simply drop the following script to /etc/init.d:
Line 203: Line 229:
 ===== User management ===== ===== User management =====
  
-If you do not require generating and managing many users, you can manually create them:+You can create users from the web UI, but users will be disabled. I suggest you go ahead and create one user, then use the CLI to set it as admin, you can then login and manage users with that login. 
 + 
 +To run the CLI (container installation): 
 +<code bash> 
 +podman compose exec fittrackee ftcli users update <username> --set-role admin 
 +</code> 
 + 
 +To run the CLI (without container installation): 
 +<code bash> 
 +ftcli users update <username> --set-role admin 
 +</code> 
 + 
 +To create users:
 <code bash> <code bash>
 ftcli users create --password <password> --lang en --email xxx@mydomain.com myuser ftcli users create --password <password> --lang en --email xxx@mydomain.com myuser
 +</code>
 +
 +To set an user as admin:
 +<code bash>
 ftcli users update myuser --set-admin true ftcli users update myuser --set-admin true
 </code> </code>
  
-and then disable user registration from the admin panel in theweb GUI, set the number of active users to a fixed quantity instead of zero.+You can also disable user registration from the admin panel in the web GUI, set the number of active users to a fixed quantity instead of zero.
  
 ===== Log rotation ===== ===== Log rotation =====
Line 215: Line 257:
 If you use **logrotate** (you should), create a new file under **/etc/logrotate.d/fittrackee**: If you use **logrotate** (you should), create a new file under **/etc/logrotate.d/fittrackee**:
 <file - fittrackee> <file - fittrackee>
-/data/daemons/fittrackee/log.txt {+/var/log/fittrackee/{
     missingok     missingok
     notifempty     notifempty
Line 225: Line 267:
 Work in progress. Work in progress.
  
-===== Updates =====+===== Updates for non-container install =====
  
 Stop the service, then run, as **fitrackee** user: Stop the service, then run, as **fitrackee** user:
Line 236: Line 278:
  
 Also note, if you installed the Garmin bridge, that you might want to run again that installation command as well. Also note, if you installed the Garmin bridge, that you might want to run again that installation command as well.
 +
  
 ===== Garmin Integration ===== ===== Garmin Integration =====
  
 A Garmin bridge for FitTrackee exist [[https://git.dryusdan.fr/Dryusdan/garmin-to-fittrackee|here]]. A Garmin bridge for FitTrackee exist [[https://git.dryusdan.fr/Dryusdan/garmin-to-fittrackee|here]].
 +
 +There is no containerized version, so you need to install on bare metal. 
 +
 +===== setup for container-based Fittrackee installation  =====
 +
 +Garmin integration uses Python, so check out [[gentoo:pip|PIP on Gentoo]] page to enable virtual environments and PIP for the fittrackee user.
 +
 +Only if you have done a Fittrackee containerized installation, do the following:
 +<code bash>
 +python -m venv venv_ft
 +source venv_ft/bin/activate
 +</code>
 +
 +and enable it in fittrackee' user **.bashrc**, as a reference:
 +<file - .bashrc>
 +(only last lines shown)
 +export PATH=$PATH:~/.local/bin
 +source venv_ft/bin/activate
 +source .env
 +</file>
 +
 +===== bridge installation  =====
  
 First of all, as the same **fittrackee** user, install the bridge: First of all, as the same **fittrackee** user, install the bridge:
Line 246: Line 311:
 </code> </code>
  
-Now, citing the documentation in the above link, y ou need to create an application in your Fittrackee instance so go to you're fittrackee account, then go to "apps", then "Add an application".+Now, citing the documentation in the above link, you need to create an application in your Fittrackee instance so go to you're fittrackee account, then go to "apps", then "Add an application".
 In the "Add a new OAuth2 application" section; chose your Application name (let's put **GarminConnect** as an example). In the "Add a new OAuth2 application" section; chose your Application name (let's put **GarminConnect** as an example).
 As "application URL" and "Redirect URL" set your FitTrackee URL, so for example **https://train.mydomain.com**.  As "application URL" and "Redirect URL" set your FitTrackee URL, so for example **https://train.mydomain.com**. 
Line 255: Line 320:
 At this point, setup the link to Garmin, from your fittrackee user terminal: At this point, setup the link to Garmin, from your fittrackee user terminal:
 <code bash> <code bash>
-.garmin2fittrackee setup config-tool+garmin2fittrackee setup config-tool
 </code> </code>
  
 +Link to Garmin:
 +<code bash>
 + garmin2fittrackee sync
 +</code>
 You will need to provide your garmin credentials for login. You will need to provide your garmin credentials for login.
  

This website uses technical cookies only. No information is shared with anybody or used in any way but provide the website in your browser.

More information