apiVersion: apps/v1 kind: Deployment metadata: name: outline namespace: outline spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: runAsNonRoot: true runAsUser: 1001 runAsGroup: 1001 fsGroup: 1001 seccompProfile: type: RuntimeDefault containers: - name: outline image: outlinewiki/outline:1.8.1 ports: - name: http containerPort: 3000 protocol: TCP env: - name: NODE_ENV value: production - name: SECRET_KEY valueFrom: secretKeyRef: name: outline-secrets key: secretKey - name: UTILS_SECRET valueFrom: secretKeyRef: name: outline-secrets key: utilsSecret - name: DATABASE_URL valueFrom: secretKeyRef: name: outline-secrets key: dbUrl - name: PGSSLMODE value: disable - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: outline-secrets key: redis.password - name: REDIS_URL value: redis://:$(REDIS_PASSWORD)@{{ .redis.host }}:6379 - name: URL value: https://{{ .domain }} - name: PORT value: "3000" - name: FORCE_HTTPS value: "false" - name: FILE_STORAGE value: local - name: FILE_STORAGE_LOCAL_ROOT_DIR value: /var/lib/outline/data - name: FILE_STORAGE_UPLOAD_MAX_SIZE value: "26214400" - name: SMTP_HOST value: {{ .smtp.host }} - name: SMTP_PORT value: "{{ .smtp.port }}" - name: SMTP_USERNAME value: {{ .smtp.user }} - name: SMTP_PASSWORD valueFrom: secretKeyRef: name: outline-secrets key: smtpPassword - name: SMTP_FROM_EMAIL value: {{ .smtp.from }} - name: SMTP_SECURE value: "true" - name: ENABLE_UPDATES value: "false" resources: limits: cpu: 500m ephemeral-storage: 1Gi memory: 768Mi requests: cpu: 50m ephemeral-storage: 50Mi memory: 256Mi volumeMounts: - name: outline-data mountPath: /var/lib/outline/data livenessProbe: httpGet: path: /_health port: 3000 initialDelaySeconds: 60 timeoutSeconds: 5 periodSeconds: 15 failureThreshold: 6 readinessProbe: httpGet: path: /_health port: 3000 initialDelaySeconds: 30 timeoutSeconds: 3 periodSeconds: 10 failureThreshold: 3 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL readOnlyRootFilesystem: false volumes: - name: outline-data persistentVolumeClaim: claimName: outline-data restartPolicy: Always