--- apiVersion: v1 kind: Namespace metadata: name: filebrowser --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: filebrowser-db namespace: filebrowser spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: filebrowser namespace: filebrowser labels: app: filebrowser spec: replicas: 1 selector: matchLabels: app: filebrowser template: metadata: labels: app: filebrowser spec: nodeSelector: kubernetes.io/hostname: chemavx-k8 containers: - name: filebrowser image: filebrowser/filebrowser:latest imagePullPolicy: Always env: - name: FB_NOAUTH value: "true" - name: FB_ROOT value: "/srv" - name: FB_DATABASE value: "/database/filebrowser.db" ports: - name: http containerPort: 80 volumeMounts: - name: images mountPath: /srv readOnly: true - name: database mountPath: /database resources: requests: memory: "64Mi" cpu: "50m" limits: memory: "256Mi" cpu: "250m" volumes: - name: images hostPath: path: /home/chemavx/imagefinder/output type: Directory - name: database persistentVolumeClaim: claimName: filebrowser-db --- apiVersion: v1 kind: Service metadata: name: filebrowser namespace: filebrowser spec: selector: app: filebrowser ports: - name: http port: 80 targetPort: 80 type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: filebrowser namespace: filebrowser annotations: cert-manager.io/cluster-issuer: letsencrypt-prod traefik.ingress.kubernetes.io/router.entrypoints: websecure spec: ingressClassName: traefik rules: - host: files.chemavx.xyz http: paths: - path: / pathType: Prefix backend: service: name: filebrowser port: number: 80 tls: - hosts: - files.chemavx.xyz secretName: filebrowser-tls