plausible-hosting/k8s-manifests/plausible-deployment.yaml

125 lines
3.2 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: plausible
spec:
replicas: 1
selector:
matchLabels:
app: plausible
template:
metadata:
labels:
app: plausible
spec:
containers:
- name: plausible
image: plausible/analytics:v1.3.0
imagePullPolicy: Always
securityContext:
runAsUser: 1000
runAsGroup: 1000
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
command:
- /app/bin/plausible
- start
env:
- name: ADMIN_USER_EMAIL
valueFrom:
secretKeyRef:
key: ADMIN_USER_EMAIL
name: plausible
- name: ADMIN_USER_NAME
valueFrom:
secretKeyRef:
key: ADMIN_USER_NAME
name: plausible
- name: ADMIN_USER_PWD
valueFrom:
secretKeyRef:
key: ADMIN_USER_PWD
name: plausible
- name: DATABASE_URL
valueFrom:
secretKeyRef:
key: DATABASE_URL
name: plausible
- name: SECRET_KEY_BASE
valueFrom:
secretKeyRef:
key: SECRET_KEY_BASE
name: plausible
- name: CLICKHOUSE_DATABASE_URL
valueFrom:
secretKeyRef:
key: CLICKHOUSE_DATABASE_URL
name: plausible
- name: BASE_URL
valueFrom:
configMapKeyRef:
key: BASE_URL
name: plausible
volumeMounts:
- name: app-tmp
mountPath: /app/tmp
ports:
- name: http
containerPort: 8000
resources: {}
initContainers:
- name: plausible-init
image: plausible/analytics:v1.3.0
imagePullPolicy: Always
securityContext:
runAsUser: 1000
runAsGroup: 1000
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
command:
- sh
- -c
- /app/createdb.sh && /app/migrate.sh && /app/init-admin.sh
env:
- name: ADMIN_USER_EMAIL
valueFrom:
secretKeyRef:
key: ADMIN_USER_EMAIL
name: plausible
- name: ADMIN_USER_NAME
valueFrom:
secretKeyRef:
key: ADMIN_USER_NAME
name: plausible
- name: ADMIN_USER_PWD
valueFrom:
secretKeyRef:
key: ADMIN_USER_PWD
name: plausible
- name: SECRET_KEY_BASE
valueFrom:
secretKeyRef:
key: SECRET_KEY_BASE
name: plausible
- name: DATABASE_URL
valueFrom:
secretKeyRef:
key: DATABASE_URL
name: plausible
- name: CLICKHOUSE_DATABASE_URL
valueFrom:
secretKeyRef:
key: CLICKHOUSE_DATABASE_URL
name: plausible
- name: BASE_URL
valueFrom:
configMapKeyRef:
key: BASE_URL
name: plausible
volumeMounts:
- name: app-tmp
mountPath: /app/tmp
volumes:
- name: app-tmp
emptyDir: {}