Skip to content

Matomo

Audience

PLANA staff. Matomo is PLANA's self-hosted analytics; customer-facing analytics would be a separate concern.

PLANA uses Matomo (the open-source Google Analytics alternative) to track usage of planapulse.ai and the documentation site. Self-hosted, EU-resident, no third-party tag fired.

Deployment

ComponentLocation
Matomo servermatomo namespace
DatabaseMariaDB 11 in the same namespace
StorageExoscale block storage, retain reclaim
Domainanalytics.planapulse.com

Helm chart from upstream Matomo; reconciled by Flux from infra/k8s/matomo/.

What it tracks

Sites configured in Matomo:

Site IDURLWhat
1planapulse.aiMarketing site analytics
2docs.planapulse.comDocumentation analytics (page views, search terms)

Custom dimensions: visitor type (anonymous / customer), edition tier, country.

What it does NOT track

Customer tenant ERPs (*.planapulse.app)Not tagged; their data is theirs
BOS workspace usageTracked separately in PLANA:executions Redis log; not Matomo
Authentication eventsIn Authentik's own log

Two access modes

Public tracking endpoints

The matomo.php / matomo.js paths are reachable without authentication — the websites being tracked load them via <script src="…matomo.js">. Configured at the gateway level via a dedicated ingress for these specific paths.

Admin UI

The Matomo admin (everything else under https://analytics.planapulse.com/) is protected by Authentik proxy mode — staff sign in via Authentik SSO, the embedded outpost forwards them to Matomo.

PathAuth
/matomo.php, /matomo.js, /piwik.php, /piwik.jsPublic (tracking endpoints)
/ (everything else)Authentik proxy SSO

SSO button on the login page

For the rare case where someone goes directly to Matomo's login page, the LoginOIDC plugin adds a "Sign in with Authentik" button that authenticates via Authentik's OIDC provider PK=14.

This is separate from the proxy mode — the proxy intercepts traffic before Matomo sees the request, so the LoginOIDC plugin handles the edge case where someone reaches Matomo's login directly.

Users

UserEmailRole
adminchudomir.monevski@plana.solutionsSuperuser
elena.encheva-blagoeva(same domain)Superuser

Other staff have read-only access via Authentik proxy mode (their SSO claim grants read-only by default).

Outpost detail

The Authentik embedded outpost (PK 10e469fe-…) handles the Matomo proxy:

ProviderPKMode
matomo-analytics13Proxy
matomo-oidc-login14OAuth2/OIDC (for the LoginOIDC button)

The outpost handles /outpost.goauthentik.io/ callback paths only when the Host header is the APP domain (analytics.planapulse.com), not the auth domain. We learned this the hard way; documented in Authentik SSO.

Where to read more

© PLANA Digital Ltd.