Self-hosting10 min de lecture

Héberger votre historique GPS avec Dawarich sur VPS

En décembre 2023, Google a annoncé la fin du stockage serveur de Timeline : les données de localisation migrent sur l'appareil, et celles hébergées côté Google sont supprimées définitivement. Des années de trajets, d'étapes et de souvenirs géolocalisés partent avec le compte ou le téléphone. Pour récupérer la maîtrise de cet historique et le conserver durablement, il existe une solution open source auto-hébergée qui tourne sur n'importe quel VPS avec Docker — et son nom est Dawarich.

Ce que Google Timeline a changé — et ce que vous perdez

Le 12 décembre 2023, Google a annoncé que l'historique de localisation ne serait plus stocké dans le cloud Google : chaque utilisateur doit migrer ses données vers son appareil avant une date limite, après quoi le serveur Google les supprime sans possibilité de récupération. Sur Android, cela signifie que votre Timeline n'existe plus que tant que votre téléphone existe — un remplacement, une réinitialisation, ou un compte supprimé efface des années de trajets en quelques secondes.

Au-delà de la perte technique, l'épisode révèle une dépendance structurelle : quand un service cloud décide de changer les règles, vos données suivent — ou disparaissent.

Ce que vous risquez de perdre sans alternative

  • Des années d'historique de trajets : vacances, déplacements professionnels, habitudes quotidiennes géolocalisées.
  • Les heatmaps et statistiques construites sur ces données — visites de villes, kilomètres parcourus.
  • La continuité du suivi si votre téléphone est perdu, volé ou réinitialisé.
  • La possibilité de croiser votre localisation avec vos photos ou vos agendas.
  • L'accès à l'historique depuis le web, fonctionnalité retirée avec la migration locale.
  • Tout contrôle sur la durée de conservation : Google impose désormais une suppression automatique à 3 mois par défaut.

Dawarich — un historique GPS souverain

Dawarich est une application web open source (AGPL-3.0, plus de 10 000 étoiles sur GitHub) conçue spécifiquement pour remplacer Google Timeline sur votre propre infrastructure. Elle ingère vos données Google Takeout (format JSON), des fichiers GPX et KML, et les stocke dans une base PostgreSQL que vous gérez.

Sa carte affiche vos trajets sous forme de points ou de lignes, avec heatmap de densité, statistiques de déplacement et recherche par période ou par lieu. L'intégration avec OwnTracks et Overland permet un suivi continu en temps réel depuis votre téléphone, sans passer par aucun service tiers. L'API de Dawarich expose aussi un endpoint compatible avec l'application Overland, ce qui simplifie la configuration mobile.

Ce que Dawarich sait faire

  • Import de l'export Google Takeout au format JSON, ainsi que des fichiers GPX et KML.
  • Affichage de l'historique complet sur une carte interactive avec couches heatmap et traces.
  • Statistiques de déplacement : pays visités, villes, distance parcourue par période.
  • Suivi en temps réel via les applications mobiles OwnTracks et Overland (iOS et Android).
  • API ouverte pour exporter ou croiser vos données avec d'autres outils.
  • Gestion multi-utilisateurs : chaque membre de la famille dispose de son propre espace isolé.
  • Géocodage inversé via Photon, Nominatim, Geoapify ou LocationIQ — au choix, sans dépendance imposée.

Prérequis avant de déployer

Dawarich tourne confortablement sur un VPS modeste. Voici ce qu'il vous faut :

Ressources serveur. 1 à 2 vCPU et 2 Go de RAM suffisent pour un usage personnel. Si vous gérez plusieurs années de données ou plusieurs utilisateurs, 4 Go sont plus confortables pour le géocodage et la génération de heatmaps.

Stockage. Les données de localisation sont légères (texte et coordonnées), mais les imports massifs depuis Google Takeout peuvent peser plusieurs centaines de Mo. Un SSD NVMe améliore sensiblement la vitesse de recherche et d'indexation. Prévoyez 10 Go au minimum, plus selon la taille de vos archives.

Logiciels. Docker Engine et docker compose v2 installés sur le serveur, une adresse IPv4 dédiée, et un nom de domaine (par exemple geo.votre-domaine.com) pour sécuriser l'accès en HTTPS.

Installer Dawarich sur votre VPS

01

Mettre à jour le serveur et installer Docker

Connectez-vous en SSH à votre VPS, puis mettez à jour les paquets avec apt update && apt upgrade -y. Installez Docker Engine en suivant la procédure officielle Docker pour votre distribution (Ubuntu ou Debian). Vérifiez l'installation avec docker --version et docker compose version.

02

Créer le répertoire de travail

Créez un répertoire dédié, par exemple mkdir -p /opt/dawarich && cd /opt/dawarich. C'est ici que vivront votre fichier docker-compose.yml et le fichier d'environnement .env.

03

Créer le fichier docker-compose.yml

Créez votre fichier docker-compose.yml avec les services suivants : dawarich_app (l'interface web et l'API), dawarich_sidekiq (le worker de tâches en arrière-plan, notamment le géocodage), et dawarich_db (PostgreSQL). Voici la structure de base — adaptez le mot de passe et le secret :

services:
  dawarich_app:
    image: freikin/dawarich:latest
    environment:
      - APPLICATION_HOST=geo.votre-domaine.com
      - DATABASE_HOST=dawarich_db
      - DATABASE_NAME=dawarich
      - DATABASE_USERNAME=dawarich
      - DATABASE_PASSWORD=MOT_DE_PASSE_FORT
      - SECRET_KEY_BASE=CLE_SECRETE_LONGUE_64_CHARS
      - MIN_MINUTES_SPENT_IN_CITY=60
    ports:
      - "3000:3000"
    depends_on:
      - dawarich_db
    volumes:
      - dawarich_public:/var/app/public
  dawarich_sidekiq:
    image: freikin/dawarich:latest
    command: sidekiq
    environment:
      - DATABASE_HOST=dawarich_db
      - DATABASE_NAME=dawarich
      - DATABASE_USERNAME=dawarich
      - DATABASE_PASSWORD=MOT_DE_PASSE_FORT
      - SECRET_KEY_BASE=CLE_SECRETE_LONGUE_64_CHARS
    depends_on:
      - dawarich_db
      - dawarich_app
  dawarich_db:
    image: postgres:17-alpine
    environment:
      POSTGRES_USER: dawarich
      POSTGRES_PASSWORD: MOT_DE_PASSE_FORT
      POSTGRES_DB: dawarich
    volumes:
      - dawarich_db:/var/lib/postgresql/data
volumes:
  dawarich_public:
  dawarich_db:
04

Démarrer les conteneurs

Lancez la pile avec docker compose up -d. Docker télécharge les images et démarre les trois conteneurs. Vérifiez que tout est opérationnel avec docker compose ps — les trois services doivent afficher le statut Up.

05

Configurer le reverse proxy et le SSL

Pointez votre domaine geo.votre-domaine.com vers l'IP du VPS, puis configurez un reverse proxy (Nginx ou Caddy) pour exposer Dawarich en HTTPS. Avec Caddy, la configuration est minimale : geo.votre-domaine.com { reverse_proxy localhost:3000 }. Caddy obtient et renouvelle automatiquement le certificat Let's Encrypt. Avec Nginx, utilisez certbot pour générer le certificat et configurez un bloc server qui proxifie vers localhost:3000.

06

Créer le premier compte administrateur

Ouvrez https://geo.votre-domaine.com dans votre navigateur et suivez l'assistant d'inscription pour créer le compte administrateur. Choisissez un mot de passe fort : Dawarich expose potentiellement plusieurs années de votre historique de déplacements. Une fois connecté, explorez les paramètres pour configurer le fournisseur de géocodage préféré.

07

Ouvrir les ports entrants minimaux

Sur votre pare-feu VPS (ou ufw sur le serveur), autorisez uniquement les ports 80 et 443 depuis l'extérieur. Le port 3000 ne doit jamais être exposé directement — seul le reverse proxy y accède en interne. Vérifiez avec ufw status que la règle est en place avant de passer à l'import.

Importer votre historique depuis Google Takeout

L'import Google Takeout est l'étape centrale pour récupérer vos données avant que Google ne les supprime côté serveur.

Exporter depuis Google. Rendez-vous sur takeout.google.com, décochez tous les services et cochez uniquement Historique des positions. Choisissez le format JSON (et non KML) pour un import complet dans Dawarich. Google prépare une archive .zip qu'il vous envoie par e-mail ou dépose dans votre Drive — selon la taille, cela peut prendre plusieurs heures.

Localiser le fichier d'historique. Une fois l'archive téléchargée et décompressée, le fichier d'historique se trouve à Takeout/Historique des positions/Records.json (en français) ou Takeout/Location History (Timeline)/Records.json (en anglais). C'est ce fichier que vous importerez dans Dawarich.

Importer dans Dawarich. Dans l'interface, accédez à Imports, cliquez sur New import, sélectionnez le fichier Records.json, choisissez le source type Google Phone et lancez l'import. Selon la taille de l'archive (plusieurs gigaoctets pour des années de données), le traitement par Sidekiq peut prendre de quelques minutes à plusieurs heures. Suivez la progression dans l'onglet Background jobs.

Suivi en temps réel avec OwnTracks ou Overland

Une fois l'historique passé importé, configurez le suivi en temps réel pour que votre téléphone envoie directement sa position à Dawarich, sans intermédiaire.

OwnTracks (iOS et Android) est un client open source de suivi de localisation. Dans les paramètres de l'application, choisissez le mode HTTP, saisissez l'URL https://geo.votre-domaine.com/api/v1/owntracks/points et ajoutez votre clé API Dawarich dans les en-têtes d'authentification. OwnTracks envoie des mises à jour à intervalles configurables.

Overland (iOS) est une alternative légère conçue pour le suivi continu en batterie. Dans Dawarich, récupérez votre endpoint Overland dans Settings → Integrations et collez-le dans l'application Overland sur iPhone. L'application gère automatiquement les envois différés quand le réseau est indisponible.

Sauvegardes et mises à jour

Vos données de localisation valent des années de vie numérique : sauvegardez le volume Docker dawarich_db régulièrement avec docker exec dawarich_db pg_dump -U dawarich dawarich > backup.sql. Pour mettre à jour Dawarich, exécutez docker compose pull && docker compose up -d — la migration de base de données est automatique au démarrage. Consultez le CHANGELOG.md du dépôt avant toute mise à jour : le projet est actif et certaines versions apportent des changements de schéma.

Pourquoi un VPS avec accès root change tout

La plupart des hébergements mutualisés interdisent Docker, l'accès root et les sockets réseau arbitraires. Dawarich exige les trois : un orchestrateur de conteneurs, un accès direct au système de fichiers pour le stockage des imports, et la liberté d'exposer un port HTTP.

Un VPS avec accès root complet, IPv4 dédiée et SSD NVMe vous donne exactement ce qu'il faut : la puissance de calcul pour indexer plusieurs années d'historique, la bande passante pour recevoir des mises à jour OwnTracks en continu, et la persistance pour ne jamais rejouer l'import depuis une archive Google Takeout.

Avec ServOrbit, vous lancez un VPS sous Ubuntu ou Debian, vous obtenez l'accès root immédiat, et Docker est installable en moins de cinq minutes — le reste dépend de votre fichier docker-compose.yml, pas d'une interface limitante.

Pour aller plus loin

Dawarich s'intègre naturellement avec les autres outils de votre infrastructure auto-hébergée. Si vous stockez déjà vos photos sur Immich, les coordonnées GPS de vos clichés et votre historique Dawarich couvrent la même carte. Si vous synchronisez des fichiers entre appareils avec Syncthing, vous pouvez exporter des traces GPX depuis Dawarich et les partager vers n'importe quel appareil. Et si Docker est nouveau pour vous, le guide Démarrer avec Docker sur VPS couvre l'installation propre sur un serveur vierge. Pour les outils de suivi de budget et autres apps à données personnelles, Actual Budget sur VPS suit la même logique de souveraineté.

Un VPS pour stocker des années d'historique GPS

Dawarich tourne sur n'importe quel VPS avec Docker, accès root et SSD NVMe. Aucune donnée de localisation ne quitte votre infrastructure.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.