Comment créer votre propre tracker GPS avec Ulogger sous Linux

Une photographie d'une personne regardant une carte numérique lors d'une randonnée.

Ulogger est un serveur de suivi GPS léger pour Linux avec une application mobile dédiée. Cet article vous montrera comment installer Ulogger sur un serveur Ubuntu 24.04 et le lier à un téléphone Android.

Table des matières

  • Pourquoi suivre les données GPS avec Ulogger ?
  • Obtention des dépendances pour Ulogger
  • Construction et installation d’Ulogger
  • Configuration d’un proxy inverse SSL avec Nginx
  • Exécution d’Ulogger pour la première fois

Pourquoi suivre les données GPS avec Ulogger ?

L’un des principaux arguments de vente du tracker GPS Ulogger est que vous pouvez l’héberger directement sur votre système Linux. Cela vous permet d’enregistrer vos pistes de géolocalisation sans risquer que de mauvais acteurs espionnent vos données.

Une capture d'écran de l'interface par défaut d'ulogger.

Un autre avantage d’Ulogger est qu’il peut importer et exporter des formats de fichiers de géolocalisation standard tels que KML et GPX. C’est une fonctionnalité précieuse si vous utilisez une solution GPS existante et souhaitez migrer vos données vers Ulogger.

Enfin, Ulogger est un logiciel libre et open source. Cela signifie que quiconque peut accéder au code source du programme, ce qui facilite la détection et la correction des vulnérabilités. En conséquence, Ulogger peut être une option plus résiliente si vous recherchez un serveur de journalisation GPS à long terme pour Linux.

FYI : apprenez comment fonctionne la technologie GPS en termes simples.

Obtention des dépendances pour Ulogger

Hypothèse : Cet article suppose que vous installez Ulogger sur un VPS Ubuntu 24.04 avec 2 Go de RAM et que vous possédez actuellement un nom de domaine.

La première étape pour installer Ulogger consiste à obtenir les dépendances pour Docker. Pour ce faire, importez la clé de signature pour le dépôt du projet Docker :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Créez un nouveau fichier de dépôt pour le projet Docker à l’aide de votre éditeur de texte préféré :

sudo nano /etc/apt/sources.list.d/docker.list

Collez la ligne suivante dans votre nouveau fichier de dépôt :

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

Actualisez les listes de dépôts de votre machine et mettez à jour tous les paquets actuels du système :

sudo apt update && sudo apt upgrade

Assurez-vous que le paquet Snap “core” fonctionne sur votre serveur :

sudo snap install core

Installez le paquet Certbot de la Electronic Frontier Foundation :

sudo snap install certbot --classic

Installez Docker, Docker Compose et les dépendances pour déployer Ulogger :

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx unzip git

Construction et installation d’Ulogger

Créez un nouveau dossier dans votre répertoire personnel, puis entrez-le :

mkdir ~/ulogger && cd ~/ulogger

Tirez la dernière version d’Ulogger depuis le dépôt Github du développeur :

git clone https://github.com/bfabiszewski/ulogger-server.git  
cd ./ulogger-server

Changez pour la dernière branche stable du programme :

git checkout -b v1.2 tags/v1.2

Ouvrez le Dockerfile d’Ulogger à l’aide de votre éditeur de texte préféré :

nano ./Dockerfile

Trouvez les lignes contenant “DB_ROOT_PASS” et “DB_USER_PASS” puis remplacez leurs valeurs par deux chaînes de texte aléatoires.

Un terminal mettant en évidence les deux mots de passe aléatoires pour la base de données du serveur ulogger.

Remarque : vous pouvez générer votre propre texte aléatoire en exécutant la commande suivante : cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1.

Enregistrez votre Dockerfile, puis créez un fichier “docker-compose.yml” à l’aide de votre éditeur de texte préféré :

nano ./docker-compose.yml

Collez le bloc de code suivant dans votre fichier de composition :

services:  
  ulogger:  
    container_name: ulogger-instance  
    build:  
      context: .  
      dockerfile: Dockerfile  
    ports:  
      - 8080:80

Enregistrez votre fichier docker-compose.yml, puis exécutez la commande suivante pour démarrer votre conteneur Docker Ulogger :

sudo docker compose up -d

Vérifiez si Ulogger fonctionne correctement en listant les conteneurs en cours d’exécution dans le système :

sudo docker ps

Un terminal mettant en évidence le conteneur Docker ulogger-server en cours d'exécution.

Configuration d’un proxy inverse SSL avec Nginx

À ce stade, vous avez maintenant le serveur Ulogger fonctionnant sur le port 8080. Cependant, pour y accéder, vous devez créer un proxy sécurisé pour les connexions entrantes en utilisant Nginx.

Commencez par créer un nouvel enregistrement “A” sur votre domaine pointant vers l’adresse IP de votre machine Ulogger.

Retournez à votre serveur, puis créez un fichier de configuration de site pour votre instance Ulogger :

sudo nano /etc/nginx/sites-available/ulogger

Collez le bloc de code suivant dans votre nouveau fichier de configuration :

server {  
  
server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;  
  
location / {  
proxy_pass http://127.0.0.1:8080;  
proxy_http_version 1.1;  
proxy_redirect off;  
proxy_set_header Upgrade $http_upgrade;  
proxy_set_header Connection "upgrade";  
proxy_set_header X-Forwarded-Proto https;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
proxy_set_header Host $host;  
}  
}

Remplacez la valeur de la variable “server_name” par votre nom de domaine.

Un terminal mettant en évidence la variable server_name dans le fichier de configuration du site Nginx pour ulogger.

Enregistrez votre fichier de configuration de site Nginx, puis créez un lien symbolique vers celui-ci dans le répertoire “sites-enabled” de Nginx :

sudo ln -s /etc/nginx/sites-available/ulogger /etc/nginx/sites-enabled/

Activez et démarrez le service Nginx sur votre machine :

sudo systemctl enable --now nginx.service

Enregistrez votre serveur Ubuntu auprès de l’EFF :

sudo certbot register --agree-tos -m [email protected]

Tapez “y”, puis appuyez sur Entrée.

Un terminal mettant en évidence l'invite pour l'inscription à la newsletter de Certbot.

Obtenez un nouveau certificat SSL pour le nom de domaine de votre Ulogger auprès de l’EFF :

sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN

Bon à savoir : apprenez comment vous pouvez protéger votre identité en ligne en créant un serveur d’alias email en utilisant SimpleLogin.

Exécution d’Ulogger pour la première fois

Testez si votre instance Ulogger fonctionne correctement en naviguant vers votre sous-domaine à l’aide de votre navigateur web.

Une capture d'écran montrant l'écran de connexion d'ulogger.

Tapez “admin” dans les champs Nom d’utilisateur et Mot de passe, puis appuyez sur Entrée pour vous connecter.

Cliquez sur le nom de votre compte dans le coin supérieur droit de la page, puis sélectionnez Changer le mot de passe.

Une capture d'écran montrant l'emplacement de l'invite

Tapez “admin” dans la zone de saisie Ancien mot de passe, puis fournissez un nouveau mot de passe pour votre instance.

Une capture d'écran montrant la fenêtre d'invite de mot de passe du serveur ulogger.

Cliquez sur Soumettre pour valider vos modifications, puis testez-le en vous déconnectant d’Ulogger puis en vous reconnectant.

Bon à savoir : apprenez à optimiser vos préparatifs de vacances en consultant certains des meilleurs outils orientés voyage pour Linux.

Lier votre serveur Ulogger avec Android

Pour enregistrer activement vos pistes GPS, vous devez d’abord obtenir l’application mobile dédiée d’Ulogger. Pour le moment, vous ne pouvez obtenir ce programme que depuis le F-Droid Store.

Une capture d'écran montrant le client GPS ulogger pour Android.

Ouvrez l’application Android Ulogger, puis cliquez sur l’icône en forme de roue dentée dans le coin supérieur droit de l’application.

Une capture d'écran mettant en évidence l'icône en forme de roue dentée sur l'application mobile d'ulogger.

Touchez l’option Fournisseur de localisation, puis sélectionnez Réseau et GPS dans le menu à boutons radio.

Une capture d'écran mettant en évidence l'option

Sélectionnez l’option Nom d’utilisateur, puis tapez “admin” dans la zone de saisie.

Touchez l’option Mot de passe, puis fournissez le mot de passe que vous avez défini pour votre compte admin.

Sélectionnez l’option URL du serveur, puis fournissez l’URL de base complète pour votre serveur Ulogger. Dans mon cas, c’est “https://gps.myvpsserver.top.”

Une capture d'écran montrant les détails du compte et du serveur du backend ulogger.

Activez l’interrupteur Synchronisation en direct au-dessus de la catégorie des détails du serveur. Cela permettra à votre téléphone Android d’envoyer automatiquement des données GPS à votre backend ulogger.

Retournez à l’écran principal de l’application mobile, puis appuyez sur le bouton Nouvelle piste.

Une capture d'écran mettant en évidence l'option

Activez l’interrupteur Suivi pour commencer à enregistrer vos données GPS sur votre serveur ulogger.

Une capture d'écran mettant en évidence l'interrupteur

Confirmez qu’Ulogger suit correctement vos données GPS en accédant à votre compte admin.

Héberger votre serveur et client de suivi GPS avec Ulogger est juste une façon de garder une trace de vos journaux de géolocalisation aujourd’hui. Découvrez comment vous pouvez suivre votre emplacement même sans connexion Internet en consultant certaines des meilleures applications GPS hors ligne pour Android.

Crédit photo : Antonio Groß via Unsplash et Ulogger Github. Toutes les modifications et captures d’écran par Ramces Red.