Konfigurácia
Publikovaný config/plausible.php v plnom znení:
<?php
declare(strict_types=1);
return [
'url' => env('PLAUSIBLE_URL'),
'key' => env('PLAUSIBLE_API_KEY'),
'site' => env('PLAUSIBLE_SITE'),
'timeout' => env('PLAUSIBLE_TIMEOUT', 10),
'retry' => [
'times' => env('PLAUSIBLE_RETRY_TIMES', 0),
'sleep_ms' => env('PLAUSIBLE_RETRY_SLEEP', 100),
],
'rate_limits' => [
'stats' => [
'enabled' => env('PLAUSIBLE_STATS_RATELIMIT_ENABLED', true),
'owner' => env('PLAUSIBLE_RATELIMIT_OWNER', 'app'),
'limit' => env('PLAUSIBLE_STATS_RATELIMIT', 600),
'per' => env('PLAUSIBLE_STATS_RATELIMIT_PER', 'hour'),
'adaptive' => env('PLAUSIBLE_STATS_RATELIMIT_ADAPTIVE', true),
'max_wait' => env('PLAUSIBLE_STATS_RATELIMIT_MAX_WAIT'),
'jitter' => env('PLAUSIBLE_STATS_RATELIMIT_JITTER'),
'per_site' => env('PLAUSIBLE_STATS_RATELIMIT_PER_SITE', false),
],
'events' => [
'enabled' => env('PLAUSIBLE_EVENTS_RATELIMIT_ENABLED', true),
'owner' => env('PLAUSIBLE_RATELIMIT_OWNER', 'app'),
'limit' => env('PLAUSIBLE_EVENTS_RATELIMIT', 6000),
'per' => env('PLAUSIBLE_EVENTS_RATELIMIT_PER', 'minute'),
'adaptive' => env('PLAUSIBLE_EVENTS_RATELIMIT_ADAPTIVE', true),
'max_wait' => env('PLAUSIBLE_EVENTS_RATELIMIT_MAX_WAIT'),
'jitter' => env('PLAUSIBLE_EVENTS_RATELIMIT_JITTER'),
'per_site' => env('PLAUSIBLE_EVENTS_RATELIMIT_PER_SITE', true),
],
'sites' => [
'enabled' => env('PLAUSIBLE_SITES_RATELIMIT_ENABLED', true),
'owner' => env('PLAUSIBLE_RATELIMIT_OWNER', 'app'),
'limit' => env('PLAUSIBLE_SITES_RATELIMIT', 60),
'per' => env('PLAUSIBLE_SITES_RATELIMIT_PER', 'hour'),
'adaptive' => env('PLAUSIBLE_SITES_RATELIMIT_ADAPTIVE', true),
'max_wait' => env('PLAUSIBLE_SITES_RATELIMIT_MAX_WAIT'),
'jitter' => env('PLAUSIBLE_SITES_RATELIMIT_JITTER'),
'per_site' => env('PLAUSIBLE_SITES_RATELIMIT_PER_SITE', false),
],
],
'tracking' => [
'queue' => env('PLAUSIBLE_TRACKING_QUEUE', true),
'user_agent' => env('PLAUSIBLE_TRACKING_USER_AGENT', 'PlausibleForLaravel'),
'ip_address' => env('PLAUSIBLE_TRACKING_IP', '127.0.0.1'),
],
'script' => [
'domain' => env('PLAUSIBLE_SCRIPT_DOMAIN'),
'src' => env('PLAUSIBLE_SCRIPT_SRC', 'https://plausible.io/js/script.js'),
],
];Všetky kľúče
| Kľúč | Predvolené | Env | Účel |
|---|---|---|---|
url | — | PLAUSIBLE_URL | Základná URL vašej inštancie Plausible, napr. https://plausible.io alebo vlastná doména. Povinné. |
key | — | PLAUSIBLE_API_KEY | Váš API kľúč Plausible, posielaný ako Bearer token pri požiadavkách na Stats a Sites API. Pre tie je povinný; zaznamenávanie udalostí ho nepotrebuje ani neposiela. Pozri API kľúče nižšie. |
site | null | PLAUSIBLE_SITE | Voliteľný predvolený web (doména). Používa ho stats()->query(), pomocníci udalostí, middleware, trait Trackable, značka skriptu (ak nie je nastavené script.domain) a kontrola stavu. |
timeout | 10 | PLAUSIBLE_TIMEOUT | Časový limit jednej požiadavky v sekundách, najmenej 1. |
retry.times | 0 | PLAUSIBLE_RETRY_TIMES | Počet automatických opakovaní pri prechodných chybách. 0 opakovania vypína. |
retry.sleep_ms | 100 | PLAUSIBLE_RETRY_SLEEP | Pauza medzi opakovaniami v milisekundách. |
rate_limits.* | pozri Obmedzenie požiadaviek | PLAUSIBLE_*_RATELIMIT* | Klientske obmedzenie požiadaviek zvlášť pre stats, events a sites. |
tracking.queue | true | PLAUSIBLE_TRACKING_QUEUE | Posielať záznamy z middlewaru a traitu Trackable cez frontu, aby nikdy neblokovali odpoveď. Prijíma true/false, on/off, yes/no, 1/0; čokoľvek iné vyhodí InvalidConfigurationException. |
tracking.user_agent | PlausibleForLaravel | PLAUSIBLE_TRACKING_USER_AGENT | User-agent pre záznamy zo servera, keď nie je k dispozícii HTTP request. |
tracking.ip_address | 127.0.0.1 | PLAUSIBLE_TRACKING_IP | IP adresa pre záznamy zo servera, keď nie je k dispozícii HTTP request. |
script.domain | null | PLAUSIBLE_SCRIPT_DOMAIN | data-domain sledovacieho skriptu. Ak nie je nastavené (null alebo prázdna hodnota), použije sa site. |
script.src | https://plausible.io/js/script.js | PLAUSIBLE_SCRIPT_SRC | URL hosťovaného skriptu Plausible — vlastný self-hosted host alebo variant skriptu. |
Ak chýba url, prvé volanie vyhodí RoundlyConsulting\Plausible\Exceptions\MissingConfiguration (PlausibleException) namiesto odoslania chybnej požiadavky; ak chýba key, vyhodí ju prvé volanie Stats alebo Sites API. Zaznamenávanie udalostí funguje aj bez kľúča. Rovnakú výnimku vyhodia volania, ktoré potrebujú web, ak ho nezadáte a nie je nastavený predvolený.
Všetky ostatné nastavenia sa čítajú striktne. Kľúč, ktorý nie je nastavený — chýba alebo je prázdny, napríklad PLAUSIBLE_TIMEOUT= —, dostane predvolenú hodnotu z tabuľky (prázdne url, key či site sa berú ako chýbajúce); hodnota nesprávneho tvaru vyhodí RoundlyConsulting\PackageToolkit\Exceptions\InvalidConfigurationException s názvom kľúča a nikdy sa nepretypuje ani nenahradí predvolenou hodnotou. Celé čísla prijímajú int alebo reťazec s celým číslom — PLAUSIBLE_TIMEOUT=15 funguje, kým five či 1.5 vyhodia výnimku — a user-agent, IP adresa a URL skriptu musia byť reťazce. Konfiguračný súbor preto odovzdáva hodnoty z env bez pretypovania (int).
API kľúče
Plausible vydáva dva druhy API kľúčov (Settings → API keys → New API key):
- kľúč Stats API — číta štatistiky (stats()); Plausible ho predvolene obmedzuje na 600 požiadaviek za hodinu naprieč všetkými webmi tímu, ktorému kľúč patrí;
- kľúč Sites API — spravuje weby, ciele a zdieľané odkazy (sites(), goals(), sharedLinks()); Sites API je funkcia plánu Enterprise.
Balík posiela jeden nakonfigurovaný PLAUSIBLE_API_KEY ako Bearer token do Stats aj Sites API, preto použite typ kľúča zodpovedajúci API, ktoré voláte. Events API — events(), middleware a trait Trackable — je bez autentifikácie: potrebuje iba PLAUSIBLE_URL a kľúč sa tam nikdy neposiela. Či kľúč funguje, zistíte cez php artisan plausible:health (pozri Kontrola stavu).
Prostredie (env)
Každý kľúč okrem blokov limitov zodpovedá jednej premennej env — uvedené hodnoty sú predvolené tam, kde existujú:
PLAUSIBLE_URL=https://plausible.io
PLAUSIBLE_API_KEY=your-api-key
PLAUSIBLE_SITE=my-site.com
PLAUSIBLE_TIMEOUT=10
PLAUSIBLE_RETRY_TIMES=0
PLAUSIBLE_RETRY_SLEEP=100
PLAUSIBLE_TRACKING_QUEUE=true
PLAUSIBLE_TRACKING_USER_AGENT=PlausibleForLaravel
PLAUSIBLE_TRACKING_IP=127.0.0.1
PLAUSIBLE_SCRIPT_DOMAIN=my-site.com
PLAUSIBLE_SCRIPT_SRC=https://plausible.io/js/script.jsPríkaz about
Balík pridáva do php artisan about sekciu Plausible: URL inštancie, či je API kľúč SET alebo MISSING (samotný kľúč sa nikdy nevypíše), predvolený web, ktoré oblasti API sú obmedzené a či sa sledovanie posiela cez frontu.
php artisan aboutPrejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.