plausible-hosting/k8s-manifests/README.org

2.6 KiB

Setup Plausible

Prelimiary requirements

Notes

  • 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

kubectl create ns plausible
kubectl label ns plausible cert-manager-tls=sync --overwrite
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 \
  --dry-run=client \
  -o yaml | kubectl apply -f -
kubectl -n plausible apply -f postgres.yaml
kubectl -n plausible create secret generic plausible \
  --from-literal=ADMIN_USER_EMAIL="$GIT_AUTHOR_EMAIL" \
  --from-literal=ADMIN_USER_NAME="$GIT_AUTHOR_NAME" \
  --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 \
  --dry-run=client \
  -o yaml | kubectl apply -f -
kubectl -n plausible create configmap plausible \
  --from-literal=BASE_URL=https://plausible.$SHARINGIO_PAIR_BASE_DNS_NAME \
  --dry-run=client \
  -o yaml | kubectl apply -f -
kubectl -n plausible apply \
  -f event-data-persistentvolumeclaim.yaml \
  -f mail-deployment.yaml \
  -f mail-service.yaml \
  -f plausible-deployment.yaml \
  -f plausible-service.yaml \
  -f plausible-ingress.yaml \
  -f plausible-events-db-deployment.yaml \
  -f plausible-events-db-service.yaml
kubectl -n plausible exec -it statefulset/postgres -- psql -c "UPDATE users SET email_verified = true;"