#+TITLE: Setup Plausible * Prelimiary requirements - Minikube - Postgres-Operator ** Notes - Minikube can be switched out for Kind - Postgres manifests are also included, in case you don't want to deploy a highly available Postgres database locally (~DATABASE_URL~ will need to be updated also) * Setup #+NAME: create namespace #+begin_src shell :results silent kubectl create ns plausible #+end_src #+NAME: create the database secrets #+begin_src shell :results silent kubectl -n plausible create secret generic postgres-configuration \ --from-literal=POSTGRES_DB=plausible \ --from-literal=POSTGRES_USER=plausible \ --from-literal=POSTGRES_PASSWORD=plausible \ --from-literal=PGUSER=plausible \ --from-literal=PGPASSWORD=plausible \ --from-literal=PGDATABASE=plausible #+end_src #+NAME: install Postgres #+begin_src shell :pwd ./ :results silent kubectl -n plausible apply -f postgres.yaml #+end_src #+NAME: create secrets #+begin_src shell :results silent kubectl -n plausible create secret generic plausible \ --from-literal=ADMIN_USER_EMAIL=myemail@example.com \ --from-literal=ADMIN_USER_NAME="Example User" \ --from-literal=ADMIN_USER_PWD="password" \ --from-literal=SECRET_KEY_BASE="$(openssl rand -base64 64)" \ --from-literal=DATABASE_URL="postgres://plausible:plausible@postgres/plausible?ssl=false" \ --from-literal=CLICKHOUSE_DATABASE_URL=http://plausible-events-db:8123/plausible #+end_src #+NAME: apply the service #+begin_src shell :results silent kubectl -n plausible apply -f plausible-service.yaml #+end_src #+NAME: create configuration #+begin_src shell :results silent kubectl -n plausible create configmap plausible \ --from-literal=BASE_URL=http://$(minikube ip):$(kubectl -n plausible get svc plausible -o=jsonpath='{.spec.ports[0].nodePort}') #+end_src #+NAME: install Plausible #+begin_src shell :results silent kubectl -n plausible apply \ -f event-data-persistentvolumeclaim.yaml \ -f mail-deployment.yaml \ -f plausible-deployment.yaml \ -f plausible-events-db-deployment.yaml \ -f plausible-events-db-service.yaml #+end_src * Notes and references - https://docs.plausible.io/self-hosting-configuration/ - https://github.com/plausible/hosting/blob/c5146231aa0bf8d7a0da11370845e11a4973373e/docker-compose.yml