NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

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_URLZákladná URL vašej inštancie Plausible, napr. https://plausible.io alebo vlastná doména. Povinné.
key—PLAUSIBLE_API_KEYVáš 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.
sitenullPLAUSIBLE_SITEVoliteľ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.
timeout10PLAUSIBLE_TIMEOUTČasový limit jednej požiadavky v sekundách, najmenej 1.
retry.times0PLAUSIBLE_RETRY_TIMESPočet automatických opakovaní pri prechodných chybách. 0 opakovania vypína.
retry.sleep_ms100PLAUSIBLE_RETRY_SLEEPPauza medzi opakovaniami v milisekundách.
rate_limits.*pozri Obmedzenie požiadaviekPLAUSIBLE_*_RATELIMIT*Klientske obmedzenie požiadaviek zvlášť pre stats, events a sites.
tracking.queuetruePLAUSIBLE_TRACKING_QUEUEPosielať 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_agentPlausibleForLaravelPLAUSIBLE_TRACKING_USER_AGENTUser-agent pre záznamy zo servera, keď nie je k dispozícii HTTP request.
tracking.ip_address127.0.0.1PLAUSIBLE_TRACKING_IPIP adresa pre záznamy zo servera, keď nie je k dispozícii HTTP request.
script.domainnullPLAUSIBLE_SCRIPT_DOMAINdata-domain sledovacieho skriptu. Ak nie je nastavené (null alebo prázdna hodnota), použije sa site.
script.srchttps://plausible.io/js/script.jsPLAUSIBLE_SCRIPT_SRCURL 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.js

Prí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 about

Prejavte 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 kryptomien

Odoslaní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.