apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.38.0 (a8f5d1cbd)
  labels:
    io.kompose.service: gluetun
  name: gluetun
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: gluetun
  strategy:
    type: Recreate
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert
        kompose.version: 1.38.0 (a8f5d1cbd)
      labels:
        io.kompose.service: gluetun
    spec:
      containers:
        - envFrom:
            - configMapRef:
                name: env-gluetun-env
          image: qmcgaw/gluetun:latest
          name: gluetun
          ports:
            - containerPort: 8000
              protocol: TCP
            - containerPort: 2648
              protocol: TCP
            - containerPort: 8989
              protocol: TCP
            - containerPort: 8081
              protocol: TCP
            - containerPort: 7878
              protocol: TCP
            - containerPort: 9696
              protocol: TCP
            - containerPort: 8686
              protocol: TCP
            - containerPort: 6767
              protocol: TCP
            - containerPort: 9080
              protocol: TCP
            - containerPort: 8694
              protocol: TCP
            - containerPort: 6881
              protocol: UDP
            - containerPort: 8080
              protocol: TCP
            - containerPort: 5656
              protocol: TCP
            - containerPort: 7474
              protocol: TCP
            - containerPort: 8191
              protocol: TCP
          securityContext:
            capabilities:
              add:
                - NET_ADMIN
          volumeMounts:
            - mountPath: /run/secrets
              name: wireguard-private-key
              subPath: wireguard-private-key
            - mountPath: /gluetun
              name: wireguard
        - envFrom:
            - configMapRef:
                name: env-arr-env
          image: lscr.io/linuxserver/bazarr:latest
          livenessProbe:
            exec:
              command:
                - curl -f http://localhost:6767 || exit 1
            initialDelaySeconds: 60
            periodSeconds: 10
            timeoutSeconds: 3
          name: bazarr
          volumeMounts:
            - mountPath: /config
              name: bazarr
            - mountPath: /data/media
              name: media
        - envFrom:
            - configMapRef:
                name: env-arr-env
          image: lscr.io/linuxserver/prowlarr:latest
          livenessProbe:
            exec:
              command:
                - curl -f http://localhost:9696/ping || exit 1
            initialDelaySeconds: 60
            periodSeconds: 10
            timeoutSeconds: 3
          name: prowlarr
          volumeMounts:
            - mountPath: /config
              name: prowlarr
        - envFrom:
            - configMapRef:
                name: env-arr-env
          image: lscr.io/linuxserver/sonarr:latest
          livenessProbe:
            exec:
              command:
                - curl -f http://localhost:8989/ping || exit 1
            initialDelaySeconds: 60
            periodSeconds: 10
            timeoutSeconds: 3
          name: sonarr
          volumeMounts:
            - mountPath: /config
              name: sonarr
            - mountPath: /data
              name: media
            - mountPath: /data/tv-shows
              name: tv-shows
            - mountPath: /downloads
              name: downloads
        - envFrom:
            - configMapRef:
                name: env-arr-env
          image: lscr.io/linuxserver/radarr:latest
          livenessProbe:
            exec:
              command:
                - curl -f http://localhost:7878/ping || exit 1
            initialDelaySeconds: 60
            periodSeconds: 10
            timeoutSeconds: 3
          name: radarr
          volumeMounts:
            - mountPath: /config
              name: radarr
            - mountPath: /data
              name: media
            - mountPath: /data/movies
              name: movies
            - mountPath: /downloads
              name: downloads
        - envFrom:
            - configMapRef:
                name: env-dnl-env
          image: lscr.io/linuxserver/sabnzbd:latest
          name: sabnzbd
          volumeMounts:
            - mountPath: /config
              name: sabnzbd
            - mountPath: /downloads
              name: usenet
            - mountPath: /data
              name: media
        - envFrom:
            - configMapRef:
                name: env-dnl-env
          image: lscr.io/linuxserver/qbittorrent:latest
          livenessProbe:
            exec:
              command:
                - curl -f http://localhost:9080 || exit 1
            initialDelaySeconds: 60
            periodSeconds: 10
            timeoutSeconds: 3
          name: qbittorrent
          volumeMounts:
            - mountPath: /config
              name: qbittorent
            - mountPath: /data/torrents
              name: torrents
      hostname: gluetun
      restartPolicy: Always
      volumes:
        - name: wireguard-private-key
          secret:
            items:
              - key: wireguard-private-key
                path: wireguard-private-key
            secretName: wireguard-private-key
        - name: wireguard
          persistentVolumeClaim:
            claimName: wireguard
