Filebrowser


File Browser

File Browser is a web based file management system. It can be used to upload, download, create, delete, or modify. One way I use File Browser is to make it easy for others to modify the configuration files for Minecraft without having to go through a process of mounting drives in various operating systems.

If you plan to use File Browser for Minecraft or any other deployment with persistent storage then be sure to define the storage as ReadWriteMany and in the same namespace so both deployments can access the storage.

Product: [File Browser
Install Type: Helm)
Container Image: Docker

Installation Details

First, as with all my Helm deployments I always start with by adding the Helm Repo:

helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update

After that, I'll grab the Values from the Chart to modify with:

helm show values k8s-at-home/filebrowser > values.yaml

Once we have the values available to edit, we can go ahead and define the specifics like the persistent storage, ingress, Cert Manager, and other settings like env.TZ. Below are some examples:

...

# @default -- See below
env:
  # -- Set the container timezone
  TZ: America/New_York

ingress:
  # -- Enable and configure ingress settings for the chart under this key.
  # @default -- See values.yaml
  main:
    enabled: true
    # -- Ingress class name
    ingressClassName: your-ingress
    # -- Ingress annotations
    annotations: 
      cert-manager.io/cluster-issuer: your-issuer
    hosts:
      - host: your.host.name
        paths:
          - path: /
            pathType: Prefix 
    # -- Ingress TLS configuration
    tls: 
      - secretName: filebrowser-int-tls
        hosts:
          - your.host.name

...

Below is an example of how the persistence can be configured to manage Minecraft files

# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
  config:
    enabled: true
    mountpath: /config
    size: 5Gi
    storageClass: longhorn
  data:
    enabled: true
    mountPath: /data
    existingClaim: minecraft-minecraft-datadir

Once we are done with our configurations of the values.yaml file we can deploy the chart with:

helm upgrade --install -n yourNamespace --create-namespace \
             -f values.yaml filebrowser k8s-at-home/filebrowser