Skip to content
SYS.DOCS // DOCS

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.

ComponentPurposeHow Edka connects it
Plausible applicationDashboard, ingestion API, and tracker script servingInstalled from the Edka Plausible chart
PostgreSQLAccounts, sites, settings, and API keysSelect an installation, database, and user from the Databases workspace
ClickHouseAnalytics events (pageviews)Select an installation and database from the Databases workspace
Persistent volumePlausible runtime dataProvisioned with the selected storage class
Envoy GatewayPublic HTTPS accessSelect a traffic class and hostname
Metrics ServerCluster metrics collectionInstalled automatically as Plausible’s required add-on

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.

  1. Open your cluster and select Apps.
  2. Find Plausible Analytics and select Install.
  3. In General, choose the Namespace (default plausible), review the Plausible Chart Version and Plausible Image Tag, and decide whether to enable Auto-update App.
  4. In Database, select the PostgreSQL Installation, PostgreSQL Database, and PostgreSQL User, then the ClickHouse Installation and ClickHouse Database.
  5. In Configuration, set Registration, Require Email Verification, Log Level, and optionally a TOTP Vault Key or Google OAuth credentials.
  6. In Email, choose a Mailer Adapter and its connection details.
  7. Review storage, resources, and placement, then in Access select a Traffic Class and enter a Hostname.
  8. Select Install App and follow the operation progress until Plausible is ready.

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.

SecretPurposeHandling
Secret Key BaseSigns sessions and derives encryption materialGenerated at install (64 characters) and kept stable for the lifetime of the instance; not editable after install
PostgreSQL passwordAuthenticates to the selected PostgreSQL databaseResolved by Edka from the selected user’s password Secret
ClickHouse passwordAuthenticates to the selected ClickHouse databaseResolved by Edka from the selected user’s password Secret
PostgreSQL connection URLFull PostgreSQL connection stringBuilt by Edka from the selected installation, database, user, and password
ClickHouse connection URLFull ClickHouse connection stringBuilt by Edka from the selected installation, database, user, and password
TOTP Vault KeyEncrypts stored TOTP secrets at restOptional; supplied by you (generate with openssl rand -base64 32)
Google Client SecretGoogle OAuth sign-inOptional; supplied by you and preserved across updates
SMTP / Postmark / Mailgun / Mandrill / SendGrid credentialsMailer adapter authenticationOptional; supplied by you and preserved across updates

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.

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.

OptionDefaultNotes
Storage size10GiPersistent volume for Plausible runtime data
Storage classhcloud-volumesFixed at install time
CPU request / limit250m / 1000m
Memory request / limit512Mi / 1Gi

You can also place Plausible on a selected node pool and automatically tolerate that pool’s taints.

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.

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.

SymptomCheck
Plausible pod stays unreadyVerify 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 stringSelect 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 secretConfirm 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 rejectedEnter a valid DNS hostname; Plausible uses it for BASE_URL and origin checks
Mailer Email is rejectedEnter a valid email address
Mailgun API Base URI is rejectedEnter a valid URL; the default is https://api.mailgun.net/v3