plausible/kubernetes
2023-01-15 21:34:29 +07:00
..
plausible-db.yaml add postgres upgrade guide 2022-10-12 09:32:32 +07:00
plausible-events-db.yaml Remove typo from the config 2022-10-12 12:39:14 +01:00
plausible-mail.yaml fixed incorrect selector for SMTP service 2021-11-24 04:39:49 +11:00
plausible.yaml remove references to admin env vars 2023-01-15 20:43:23 +07:00
README.md remove more stale info 2023-01-15 21:34:29 +07:00

Plausible Analytics in Kubernetes

This guide is designed to extend the normal self-hosting guide, please refer to it before following this guide.

1. Clone the hosting repo

To deploy Plausible Analytics into Kubernetes first download the plausible/hosting repo.

git clone https://github.com/plausible/hosting
cd hosting

2. Add required configuration

Like the original self hosting guide configure your server in the plausible-conf.env file.

3. Deploy the server

Once you've entered your secret key base and base url, you're ready to deploy the server:

kubectl create namespace plausible # Create a new namespace for all resources
kubectl -n plausible create secret generic plausible-config --from-env-file=plausible-conf.env # Create a configmap from the plausible-conf.env file
# Please change the Postgres and Clickhouse passwords to something more secure here!
kubectl -n plausible create secret generic plausible-db-user --from-literal='username=postgres' --from-literal='password=postgres' # Create the Postgres user
kubectl -n plausible create secret generic plausible-events-db-user --from-literal='username=clickhouse' --from-literal='password=clickhouse' # Create the Clickhouse user
kubectl -n plausible apply -f ./kubernetes

You can now navigate to http://{hostname}:8000 and see the registration screen for the admin user.

4. (Optional) Email verification

If you've enabled email verification with ENABLE_EMAIL_VERIFICATION=true, you will be prompted to enter a verification code which has been sent to your email. Please configure your server for SMTP to receive this email. Here are Plausible's SMTP configuration options.

Otherwise, run this command to verify all users in the database:

kubectl -n plausible exec statefulset/plausible-db -- /bin/bash -c 'psql -U $POSTGRES_USER -d $POSTGRES_DB -c "UPDATE users SET email_verified = true;"'