Plausible configuration reference

This page lists the configuration surface of the Plausible deployment in dp-infra/plausible/.

config.yaml

Key

Value

Notes

namespace

plausible

Target namespace

domains

[stats.cloud.kup.tirol]

All hosts served by the ingress; one TLS certificate covers all entries

baseUrl

stats.cloud.kup.tirol

Sets BASE_URL; determines links, cookies, and the tracking script URL

versions.plausible

v3.2.1

Image tag of ghcr.io/plausible/community-edition

versions.clickhouse

24.12-alpine

Image tag of clickhouse/clickhouse-server; matches the CE v3.2 reference stack

versions.postgresMajor

18

CNPG image major (ghcr.io/cloudnative-pg/postgresql)

smtp.host

in-v3.mailjet.com

Mailjet SMTP relay

smtp.port

587

STARTTLS

smtp.from

stats@kleinundpartner.at

Sender; the domain is Mailjet-validated

storage.class

longhorn

Storage class for all PVCs

storage.postgres

5Gi

Per-instance CNPG PVC size

storage.clickhouse

10Gi

ClickHouse PVC size

replicas.postgres

2

CNPG instances

s3.backups

backups-plausible-kup6s (fsn1)

Crossplane-managed bucket, ProviderConfig hetzner-s3

App environment

The app deployment combines a ConfigMap (plausible-env) with secret-backed variables.

Variable

Source

Notes

BASE_URL

ConfigMap

https://<baseUrl>

HTTP_PORT

ConfigMap

8000

DISABLE_REGISTRATION

ConfigMap

true; only applies once at least one user exists

MAXMIND_EDITION

ConfigMap

GeoLite2-City

MAILER_ADAPTER

ConfigMap

Bamboo.Mua

MAILER_EMAIL, SMTP_HOST_ADDR, SMTP_HOST_PORT

ConfigMap

Mailjet relay settings

DATABASE_URL

Secret plausible-postgres-app, key uri

CNPG-generated; the postgresql:// scheme is accepted by Ecto

CLICKHOUSE_DATABASE_URL

Secret plausible-app-secrets

ESO-templated from CLICKHOUSE_PASSWORD

SECRET_KEY_BASE

Secret plausible-app-secrets

Carried over from the groot instance; never rotate casually

TOTP_VAULT_KEY

Secret plausible-app-secrets

Encrypts 2FA secrets at rest; never rotate casually

MAXMIND_LICENSE_KEY

Secret plausible-app-secrets

GeoLite2 download license

SMTP_USER_NAME, SMTP_USER_PWD

Secret plausible-smtp-secrets

Mailjet credentials

Source secrets

ESO bridges these secrets from the application-secrets namespace into the plausible namespace.

plausible-app-secrets

Keys: SECRET_KEY_BASE, TOTP_VAULT_KEY, MAXMIND_LICENSE_KEY, CLICKHOUSE_PASSWORD. The ExternalSecret additionally templates CLICKHOUSE_DATABASE_URL from CLICKHOUSE_PASSWORD.

plausible-smtp-secrets

Keys: SMTP_USERNAME, SMTP_PASSWORD (Mailjet, shared account with bugsink).

ClickHouse system log configuration

The ConfigMap plausible-clickhouse-config mounts two files into the ClickHouse container.

config.d/logging.xml

Disables metric_log, asynchronous_metric_log, query_thread_log, text_log, trace_log, session_log, and part_log. Recreates query_log with a 30-day TTL (ttl_only_drop_parts=1). Sets mark_cache_size to 500 MB.

users.d/user-logging.xml

Disables query thread logging and applies the upstream low-resources profile (max_threads=1, max_block_size=8192).

Important

Without this configuration ClickHouse system logs grow unbounded. On the legacy host they reached 53 GiB while the actual analytics data was 60 MiB.

Backups

Data

Mechanism

Schedule

Retention

PostgreSQL

CNPG barman-cloud plugin to S3 (backups-plausible-kup6s, fsn1)

Daily 02:30 plus continuous WAL

30 days

ClickHouse

Longhorn recurring backup group default (volume data-plausible-clickhouse-0)

Daily 03:00

7 backups

The ClickHouse backup is crash-consistent, not application-consistent. This is a deliberate risk acceptance for statistics data.