Pourquoi self-héberger Matomo sur un VPS
Matomo offre la richesse fonctionnelle des grandes solutions d'analytics tout en vous laissant propriétaire des données. En auto-hébergement, aucune donnée de vos visiteurs n'est transmise à un tiers, vous évitez l'échantillonnage des rapports, et vous activez librement les fonctionnalités avancées. Un VPS dédié dimensionne la base MariaDB selon votre trafic et conserve l'intégralité de l'historique sous votre contrôle.
Les bénéfices concrets d'un Matomo auto-hébergé
- Propriété à 100 % des données d'audience, sans transmission à un tiers.
- Rapports complets et non échantillonnés, même à fort volume.
- Fonctionnalités avancées (heatmaps, entonnoirs, objectifs) activables librement.
- Conformité RGPD facilitée par l'anonymisation d'IP et le respect du Do Not Track.
- Coût fixe, sans facturation au volume de hits.
Prérequis matériels et logiciels
Comptez 2 vCPU et 2 Go de RAM pour démarrer, 4 Go pour un trafic important, la base MariaDB grossissant avec l'historique. Prévoyez 10 Go de disque ou plus. Côté logiciel : Docker et Docker Compose, un sous-domaine (ex. matomo.votre-domaine.ma) pointant vers le VPS, et le port 443 ouvert.
Déployer Matomo avec Docker et HTTPS
Préparer le VPS et Docker
En SSH, mettez à jour le système et installez Docker via curl -fsSL https://get.docker.com | sh. Créez mkdir -p /opt/matomo && cd /opt/matomo.
Écrire le docker-compose.yml
Définissez deux services : matomo (image officielle) et mariadb. Montez un volume pour /var/www/html et un pour la base, et renseignez les variables de connexion MySQL.
Lancer les conteneurs
Exécutez docker compose up -d. Matomo écoute sur le port 80 interne ; la base démarre en parallèle.
Configurer le reverse proxy
Avec Caddy : matomo.votre-domaine.ma { reverse_proxy localhost:8080 }. Caddy obtient et renouvelle le certificat Let's Encrypt automatiquement.
Terminer l'assistant d'installation
Ouvrez l'URL, suivez l'assistant web (vérification système, base de données, compte admin), puis déclarez votre premier site.
Installer le script et le cron
Insérez le code de suivi dans le de vos pages, et planifiez core:archive via cron pour des rapports rapides à fort volume.
Pour des rapports performants à fort trafic, désactivez l'archivage au chargement du navigateur et planifiez la tâche core:archive toutes les heures via cron : les tableaux de bord se chargent alors instantanément.
La documentation officielle
Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de Matomo. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.