Metribay selbst betreiben
Die selbst gehostete Version, auch Personal edition genannt, ist Metribay auf deinem eigenen Server. Sie ist kostenlos und Open Source unter der Apache-2.0-Lizenz.
Passt sie zu dir?
Section titled “Passt sie zu dir?”| Selbst gehostet | Metribay Cloud | |
|---|---|---|
| Kosten | Kostenlos | Siehe Pläne und Abrechnung |
| Personen | Eine Person | Teams mit Rollen |
| Arbeitsbereiche | Einer, im Hintergrund | Bis zu 5 |
| Projekte und Datenquellen | Unbegrenzt | 10 und 50 aktive |
| Integrationen | Alle sieben | Alle sieben |
| Updates, Backups, Verfügbarkeit | Du | Wir |
| Google-Anmeldebutton | Deine eigene Google-App | Bereitgestellt, sobald verfügbar |
Nimm die selbst gehostete Version, wenn du eine PHP-Anwendung sicher betreiben kannst und alles auf deiner eigenen Hardware haben willst. Nimm Cloud, wenn du dich nicht um einen Server kümmern oder mit anderen zusammenarbeiten willst.
Voraussetzungen
Section titled “Voraussetzungen”- PHP 8.3 oder neuer mit den Erweiterungen cURL, OpenSSL, PDO (SQLite oder PostgreSQL), intl und mbstring
- Composer 2
- SQLite für eine persönliche Installation oder PostgreSQL
- Eine Möglichkeit, zwei Hintergrundprozesse am Laufen zu halten, etwa systemd oder Supervisor, und Cron
- Node 24 nur, wenn du die Frontend-Assets neu bauen willst. Das Release enthält sie.
Installation
Section titled “Installation”-
Führ im Hauptverzeichnis des Repositorys das Setup-Skript aus und wechsle dann in die Anwendung:
Terminal-Fenster ./scripts/setup.shcd standalone -
Leg dein Konto an. Der Befehl fragt das Passwort verdeckt ab:
Terminal-Fenster -
Starte den Webserver. Für einen schnellen lokalen Test:
Terminal-Fenster php artisan serve --host=127.0.0.1 --port=8000Im Produktivbetrieb liefert dein Webserver das Verzeichnis
standalone/publicüber HTTPS aus. -
Starte Queue-Worker und Scheduler als getrennte, dauerhaft laufende Prozesse:
Terminal-Fenster php artisan queue:work --timeout=900php artisan schedule:workIm Produktivbetrieb läuft der Worker unter einem Prozessmanager, und statt
schedule:workruft ein Cron-Eintrag jede Minutephp artisan schedule:runauf.
Melde dich mit der gewählten E-Mail-Adresse und dem Passwort an. Die Registrierung ist ausgeschaltet: Die Installation gehört dem einen Konto, das du angelegt hast.
So läuft die Erfassung
Section titled “So läuft die Erfassung”Der Scheduler startet die Erfassung alle vier Stunden, Uptime-Monitore jede Stunde und das vollständige Neueinlesen einmal pro Woche, genau wie in Cloud. Erfasst wird nur, solange Queue-Worker und Scheduler laufen.
So startest du eine Synchronisierung von Hand:
php artisan metribay:sync # alle aktiven Datenquellen einreihenphp artisan metribay:sync --kind=github # nur ein Anbieterphp artisan metribay:sync --except=uptimerobotphp artisan metribay:sync --source=12 # eine Datenquelle per IDphp artisan metribay:sync --full # ganzen Verlaufszeitraum neu lesenphp artisan metribay:sync --inline # sofort, ohne QueueAnbieter verbinden
Section titled “Anbieter verbinden”Jede Integration funktioniert mit deinen eigenen Zugangsdaten, genau wie in den Anleitungen zu den Integrationen beschrieben. Nichts läuft über die Server von Metribay.
Für einen Button Connect Google bei Analytics und Search Console legst du einen eigenen OAuth-Client an:
-
Aktiviere in der Google Cloud Console die Analytics Admin API, die Analytics Data API und die Search Console API.
-
Leg einen OAuth-Client vom Typ Webanwendung an, mit dieser Weiterleitungs-URI und deiner eigenen Adresse:
https://metribay.example.com/integrations/google/callback -
Trag die Daten in deine
.env-Datei ein:METRIBAY_GOOGLE_CLIENT_ID=deine-client-idMETRIBAY_GOOGLE_CLIENT_SECRET=dein-client-secretMETRIBAY_GOOGLE_REDIRECT_URI=https://metribay.example.com/integrations/google/callback
Solange deine Google-App im Testmodus ist, lässt Google ihre Anmeldungen nach sieben Tagen ablaufen. Dienstkonten haben dieses Problem nicht.
Checkliste für den Produktivbetrieb
Section titled “Checkliste für den Produktivbetrieb”-
Liefere über HTTPS aus, mit
APP_ENV=productionundAPP_DEBUG=false. -
Halte
.env, die Datenbank und Backups außerhalb des öffentlichen Webverzeichnisses. -
Lass angemeldete Seiten nie von einem CDN oder Proxy cachen.
-
Führe nach einem Update die Migrationen aus, veröffentliche die Assets und starte den Worker neu:
Terminal-Fenster php artisan migrate --forcephp artisan vendor:publish --tag=metribay-assets --forcephp artisan queue:restart -
Richte einen Mailversand ein, damit E-Mails zum Zurücksetzen des Passworts ankommen.
Backups
Section titled “Backups”Sichere zwei Dinge, getrennt voneinander:
- Die Datenbank. Nutze bei SQLite das Online-Backup von SQLite, statt die Datei im laufenden Betrieb zu kopieren. Nutze bei PostgreSQL
pg_dump. - Den
APP_KEY. Gespeicherte Zugangsdaten sind damit verschlüsselt. Ohne den Schlüssel lassen sie sich aus einem Datenbank-Backup nicht entschlüsseln. Ändere den Schlüssel nur, wenn du die Neuverschlüsselung geplant hast.
Teste ab und zu eine Wiederherstellung. Der Konfigurationsexport ist ebenfalls nützlich, aber kein vollständiges Backup: Er enthält weder Verlauf noch Zugangsdaten.
Umzug zu Metribay Cloud
Section titled “Umzug zu Metribay Cloud”Exportiere deine Konfiguration, registriere dich bei Cloud, leg deine gespeicherten Konten mit denselben Namen an und importiere die Datei. Cloud holt deinen Verlauf dann innerhalb des Verlaufszeitraums jeder Datenquelle erneut von deinen Anbietern.