Deploy and Operate Plausible Analytics
Plausible Analytics Community Edition is the self-hosted build of Plausible’s cookie-free web analytics platform. Edka deploys it as a managed app in your Kubernetes cluster and connects it to existing PostgreSQL and ClickHouse installations plus an Envoy Gateway traffic class for public access.
This integration uses Edka’s own Plausible chart. The chart’s built-in database bootstrap job is disabled, so you select an existing PostgreSQL database and an existing ClickHouse database instead of letting the chart create its own.
Architecture
Section titled “Architecture”| Component | Purpose | How Edka connects it |
|---|---|---|
| Plausible application | Dashboard, ingestion API, and tracker script serving | Installed from the Edka Plausible chart |
| PostgreSQL | Accounts, sites, settings, and API keys | Select an installation, database, and user from the Databases workspace |
| ClickHouse | Analytics events (pageviews) | Select an installation and database from the Databases workspace |
| Persistent volume | Plausible runtime data | Provisioned with the selected storage class |
| Envoy Gateway | Public HTTPS access | Select a traffic class and hostname |
| Metrics Server | Cluster metrics collection | Installed automatically as Plausible’s required add-on |
Prerequisites
Section titled “Prerequisites”Plausible always publishes through an Envoy Gateway traffic class; Gateway exposure cannot be turned off from the install form. Before installing Plausible, prepare:
- an Edka cluster with an Envoy Gateway traffic class and managed TLS
- a DNS hostname for the Plausible dashboard, ingestion API, and tracker script
- a managed PostgreSQL installation with a dedicated database and user
- a managed ClickHouse installation with a database for analytics events
(Plausible defaults to
default)
Create the database, user, and ClickHouse database in the Databases workspace first. Edka does not ask the Plausible chart to create them.
Install Plausible Analytics
Section titled “Install Plausible Analytics”- Open your cluster and select Apps.
- Find Plausible Analytics and select Install.
- In General, choose the Namespace (default
plausible), review the Plausible Chart Version and Plausible Image Tag, and decide whether to enable Auto-update App. - In Database, select the PostgreSQL Installation, PostgreSQL Database, and PostgreSQL User, then the ClickHouse Installation and ClickHouse Database.
- In Configuration, set Registration, Require Email Verification, Log Level, and optionally a TOTP Vault Key or Google OAuth credentials.
- In Email, choose a Mailer Adapter and its connection details.
- Review storage, resources, and placement, then in Access select a Traffic Class and enter a Hostname.
- Select Install App and follow the operation progress until Plausible is ready.
Runtime Secrets
Section titled “Runtime Secrets”Plausible’s secrets live in a runtime Secret in the app namespace. Edka generates the Secret Key Base at install and resolves the PostgreSQL and ClickHouse passwords from their own Secrets on every update. For the OAuth and mailer credentials marked “preserved” below, leaving the field empty during an update keeps the current value.
| Secret | Purpose | Handling |
|---|---|---|
| Secret Key Base | Signs sessions and derives encryption material | Generated at install (64 characters) and kept stable for the lifetime of the instance; not editable after install |
| PostgreSQL password | Authenticates to the selected PostgreSQL database | Resolved by Edka from the selected user’s password Secret |
| ClickHouse password | Authenticates to the selected ClickHouse database | Resolved by Edka from the selected user’s password Secret |
| PostgreSQL connection URL | Full PostgreSQL connection string | Built by Edka from the selected installation, database, user, and password |
| ClickHouse connection URL | Full ClickHouse connection string | Built by Edka from the selected installation, database, user, and password |
| TOTP Vault Key | Encrypts stored TOTP secrets at rest | Optional; supplied by you (generate with openssl rand -base64 32) |
| Google Client Secret | Google OAuth sign-in | Optional; supplied by you and preserved across updates |
| SMTP / Postmark / Mailgun / Mandrill / SendGrid credentials | Mailer adapter authentication | Optional; supplied by you and preserved across updates |
Registration and Authentication
Section titled “Registration and Authentication”The Configuration tab controls who can sign in:
- Registration is Invite only by default. Set it to Disabled to close registration entirely, or Open to allow self-service sign-up.
- Require Email Verification is off by default; enable it to require new users to verify their email before signing in.
- Log Level controls the minimum log level Plausible emits, from Warning (default) down to Debug.
- TOTP Vault Key optionally encrypts stored two-factor secrets at rest.
- Google Client ID and Google Client Secret add Google as a sign-in provider.
Email Delivery
Section titled “Email Delivery”The Email tab selects a Mailer Adapter: SMTP (default), Postmark, Mailgun, Mandrill, or SendGrid. Each adapter shows only its own fields:
- SMTP needs SMTP Host, SMTP Port (default
587), SMTP Username, SMTP Password, and SMTP SSL. - Postmark needs a Postmark API Key; Mandrill needs a Mandrill API Key; SendGrid needs a SendGrid API Key.
- Mailgun needs a Mailgun API Key, Mailgun Domain, and Mailgun
API Base URI (default
https://api.mailgun.net/v3).
Mailer Email and Mailer Name set the sender address and display name for Plausible’s outgoing mail and are optional for every adapter.
Storage, Resources, and Placement
Section titled “Storage, Resources, and Placement”| Option | Default | Notes |
|---|---|---|
| Storage size | 10Gi | Persistent volume for Plausible runtime data |
| Storage class | hcloud-volumes | Fixed at install time |
| CPU request / limit | 250m / 1000m | |
| Memory request / limit | 512Mi / 1Gi |
You can also place Plausible on a selected node pool and automatically tolerate that pool’s taints.
Metrics
Section titled “Metrics”Plausible exposes Prometheus metrics on the same port as the application,
:8000/metrics. When the cluster metrics backend is available, Edka’s app
view surfaces:
- buffered and dropped analytics events per second
- tracker script v2 and legacy tracker requests per second
- event write buffer message queue length
- site cache entries held by Plausible
See Cluster Metrics for the metrics backend setup.
Updates
Section titled “Updates”Chart auto-updates are opt-in (Auto-update App defaults to off). When enabled, choose an Auto-update Policy of patch, minor, major, all, or a custom tag pattern, and an Auto-update Check interval from every 5 minutes up to daily. Both the Plausible chart version and the Plausible container image tag follow the same policy.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Check |
|---|---|
| Plausible pod stays unready | Verify PostgreSQL and ClickHouse connectivity, and confirm both the selected database and ClickHouse database already exist |
| Install or update fails building the PostgreSQL or ClickHouse connection string | Select a complete PostgreSQL or ClickHouse installation, database, and user; Edka needs the host, database, and user to build the connection string |
| Update fails with a missing managed secret | Confirm the selected PostgreSQL or ClickHouse user’s password Secret, and the app’s own runtime config Secret, have not been deleted or moved from their recorded namespace |
| Hostname is rejected | Enter a valid DNS hostname; Plausible uses it for BASE_URL and origin checks |
| Mailer Email is rejected | Enter a valid email address |
| Mailgun API Base URI is rejected | Enter a valid URL; the default is https://api.mailgun.net/v3 |