apiVersion: apps/v1 kind: Deployment metadata: name: akaunting namespace: akaunting spec: replicas: 1 strategy: type: Recreate selector: matchLabels: component: web template: metadata: labels: component: web spec: securityContext: runAsUser: 0 runAsNonRoot: false seccompProfile: type: RuntimeDefault containers: - name: akaunting image: akaunting/akaunting:3.1.21 ports: - name: http containerPort: 80 protocol: TCP env: - name: AKAUNTING_SETUP value: "true" - name: APP_URL value: https://{{ .domain }} - name: LOCALE value: {{ .locale }} - name: DB_HOST value: {{ .db.host }} - name: DB_PORT value: "{{ .db.port }}" - name: DB_NAME value: {{ .db.name }} - name: DB_USERNAME value: {{ .db.user }} - name: DB_PASSWORD valueFrom: secretKeyRef: name: akaunting-secrets key: dbPassword - name: DB_PREFIX value: {{ .dbPrefix }} - name: COMPANY_NAME value: "{{ .companyName }}" - name: COMPANY_EMAIL value: {{ .companyEmail }} - name: ADMIN_EMAIL value: {{ .adminEmail }} - name: ADMIN_PASSWORD valueFrom: secretKeyRef: name: akaunting-secrets key: adminPassword - name: MAIL_MAILER value: smtp - name: MAIL_HOST value: {{ .smtp.host }} - name: MAIL_PORT value: "{{ .smtp.port }}" - name: MAIL_USERNAME value: {{ .smtp.user }} - name: MAIL_PASSWORD valueFrom: secretKeyRef: name: akaunting-secrets key: smtpPassword - name: MAIL_FROM_ADDRESS value: {{ .smtp.from }} resources: limits: cpu: "1" ephemeral-storage: 1Gi memory: 512Mi requests: cpu: 50m ephemeral-storage: 50Mi memory: 256Mi volumeMounts: - name: akaunting-data mountPath: /var/www/html/storage subPath: storage - name: akaunting-data mountPath: /var/www/html/public/uploads subPath: uploads livenessProbe: tcpSocket: port: 80 initialDelaySeconds: 120 timeoutSeconds: 10 periodSeconds: 30 failureThreshold: 6 readinessProbe: tcpSocket: port: 80 initialDelaySeconds: 60 timeoutSeconds: 5 periodSeconds: 15 failureThreshold: 3 securityContext: readOnlyRootFilesystem: false volumes: - name: akaunting-data persistentVolumeClaim: claimName: akaunting-data restartPolicy: Always