Aller au contenu

Héberger Metribay toi-même

L’édition self-hosted, aussi appelée Édition Personal, c’est Metribay sur ton propre serveur. Elle est gratuite et open source sous licence Apache-2.0.

Self-hosted Metribay Cloud
Coût Gratuit Voir Offres et facturation
Personnes Une personne Équipes avec rôles
Espaces de travail Un, en arrière-plan Jusqu’à 5
Projets et sources de données Sans limite 10 et 50 actifs
Intégrations Les sept Les sept
Mises à jour, sauvegardes, disponibilité Toi Nous
Bouton Connect Google Ta propre app Google Fourni quand disponible

Choisis le self-hosting si tu es à l’aise avec une app PHP et veux tout sur ton matériel. Choisis Cloud si tu préfères ne pas gérer un serveur ou travailler avec d’autres.

  • PHP 8.5 ou plus avec les extensions cURL, OpenSSL, PDO (SQLite ou PostgreSQL), intl et mbstring
  • Composer 2
  • SQLite pour une installation personnelle, ou PostgreSQL
  • Un moyen de faire tourner deux processus en arrière-plan, comme systemd ou Supervisor, et cron
  • Node 24 seulement si tu veux reconstruire les assets frontend. La release les inclut.
  1. Lance le script de setup depuis la racine du dépôt, puis passe à l’application :

    Terminal window
    ./scripts/setup.sh
    cd standalone
  2. Crée ton compte. La commande demande le mot de passe en privé :

    Terminal window
    php artisan metribay:install [email protected]
  3. Démarre le serveur web. Pour un essai local rapide :

    Terminal window
    php artisan serve --host=127.0.0.1 --port=8000

    En production, sers le répertoire standalone/public en HTTPS avec ton serveur web.

  4. Démarre le worker de file et le planificateur comme processus longue durée séparés :

    Terminal window
    php artisan queue:work --timeout=900
    php artisan schedule:work

    En production, fais tourner le worker sous un gestionnaire de processus, et utilise une entrée cron pour php artisan schedule:run chaque minute au lieu de schedule:work.

Connecte-toi avec l’e-mail et le mot de passe choisis. L’inscription est désactivée : l’installation appartient au seul compte que tu as créé.

Le planificateur lance la collecte toutes les quatre heures, les moniteurs uptime toutes les heures et un rafraîchissement complet de l’historique une fois par semaine, comme dans Cloud. La collecte n’a lieu que tant que le worker et le planificateur tournent.

Pour lancer une synchro à la main :

Terminal window
php artisan metribay:sync # met en file chaque source active
php artisan metribay:sync --kind=github # un seul fournisseur
php artisan metribay:sync --except=uptimerobot
php artisan metribay:sync --source=12 # une source par ID
php artisan metribay:sync --full # relit toute la fenêtre d'historique
php artisan metribay:sync --inline # exécute maintenant, sans file

Chaque intégration fonctionne avec tes propres identifiants, comme dans les guides d’intégration. Rien ne passe par les serveurs Metribay.

Pour avoir un bouton Connecter Google pour Analytics et Search Console, crée ta propre app OAuth Google :

  1. Dans la console Google Cloud, active les API Analytics Admin, Analytics Data et Search Console.

  2. Crée un client OAuth de type Web application avec cette URI de redirection, avec ton adresse : https://metribay.example.com/integrations/google/callback

  3. Ajoute les détails dans ton fichier .env :

    METRIBAY_GOOGLE_CLIENT_ID=your-client-id
    METRIBAY_GOOGLE_CLIENT_SECRET=your-client-secret
    METRIBAY_GOOGLE_REDIRECT_URI=https://metribay.example.com/integrations/google/callback

Tant que ton app Google est en mode test, Google expire les connexions après sept jours. Les comptes de service n’ont pas ce problème.

  • Sers en HTTPS avec APP_ENV=production et APP_DEBUG=false.

  • Garde .env, la base de données et les sauvegardes hors du répertoire web public.

  • Ne mets jamais en cache les pages connectées sur un CDN ou proxy.

  • Après mise à jour, lance les migrations, publie les assets et redémarre le worker :

    Terminal window
    php artisan migrate --force
    php artisan vendor:publish --tag=metribay-assets --force
    php artisan queue:restart
  • Configure un transport mail pour que les e-mails de réinitialisation de mot de passe t’atteignent.

Sauvegarde deux choses, séparément :

  • La base de données. Pour SQLite, utilise la sauvegarde en ligne de SQLite plutôt que copier le fichier en cours d’utilisation. Pour PostgreSQL, utilise pg_dump.
  • La APP_KEY. Les identifiants enregistrés sont chiffrés avec elle. Sans la clé, une sauvegarde de base ne peut pas les déchiffrer. Ne change pas la clé sans plan pour rechiffrer.

Teste une restauration de temps en temps. L’export de configuration est utile mais ce n’est pas une sauvegarde complète : pas d’historique ni d’identifiants.

Exporte ta configuration, inscris-toi sur Cloud, ajoute tes comptes connectés avec les mêmes noms et importe le fichier. Cloud collecte à nouveau ton historique chez tes fournisseurs, dans la fenêtre d’historique de chaque source.