diff --git a/kubernetes-templates/filebrowser.yml b/kubernetes-templates/filebrowser.yml new file mode 100644 index 0000000..2e34747 --- /dev/null +++ b/kubernetes-templates/filebrowser.yml @@ -0,0 +1,94 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: filebrowser +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: filebrowser-config-pvc + namespace: filebrowser +spec: + accessModes: + - ReadWriteMany + storageClassName: nfs-storage + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: filebrowser-data-pvc + namespace: filebrowser +spec: + accessModes: + - ReadWriteMany + storageClassName: nfs-storage + resources: + requests: + storage: 50Gi +--- +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: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: node-role.kubernetes.io/control-plane + operator: DoesNotExist + containers: + - name: filebrowser + image: filebrowser/filebrowser:latest + ports: + - containerPort: 80 + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + volumeMounts: + - name: database + mountPath: /database.db + subPath: database.db + - name: data + mountPath: /srv + volumes: + - name: database + persistentVolumeClaim: + claimName: filebrowser-config-pvc + - name: data + persistentVolumeClaim: + claimName: filebrowser-data-pvc +--- +apiVersion: v1 +kind: Service +metadata: + name: filebrowser-service + namespace: filebrowser +spec: + type: NodePort + selector: + app: filebrowser + ports: + - name: http + protocol: TCP + port: 80 + targetPort: 80 + nodePort: 33003 \ No newline at end of file