Filebrowser/README.md
2023-12-23 20:32:26 -05:00

4.4 KiB

Filebrowser

Gitea Release

An specfic contianer build of filebrowser that allows for some configuration using environment variables. Intended to be used as a sidecar for kubernetes pods.

Configuration

Variable Description Default
ADMIN_PASS admin user password admin
DEFAULT_USERNAME The username for the newly created user default
DEFAULT_PASSWORD The password for the newly created user default
BRANDING_NAME Name shown on the home screen My file storage
AUTH_METHOD What auth method should be used? json
AUTH_HEADER What header should be used for proxy authentication? X-My-Header
PERM_ADMIN Allow user admin privileges false
PERM_EXECUTE Allow user to execute commands false
PERM_CREATE Allow user to create files and directories false
PERM_RENAME Allow user to rename files and directories false
PERM_MODIFY Allow user to modify files false
PERM_DELETE Allow user to delete files false
PERM_SHARE Allow user to share files and directories false
PERM_DOWNLOAD Allow user to download files false

Run the container

Find instructions on pulling the container here. You can also build the container locally by running the docker compose included with this repository

docker compose up
# Older docker compose
docker-compose up

Run as a sidecar in k8s

I use this container as a k3s/k8s sidecar container, to provide a nice interface to the contents of specific longhorn volumes (such as plex, or minecraft servers). Below I have included a sample deployment definition. Be sure to place secrets in a kubernetes secret!

containers:
  - name: filebrowser
    image: git.clortox.com/infrastructure/filebrowser:latest
    securityContext:
      runAsUser: 1000
      runAsGroup: 1000
    env:
      - name: ADMIN_PASS
        value: "admin"
      - name: DEFAULT_USERNAME
        value: "user"
      - name: DEFAULT_PASSWORD
        value: "password"
      - name: BRANDING_NAME
        value: "My File Storage"
      - name: AUTH_METHOD
        value: "json"
      - name: AUTH_HEADER
        value: "X-My-Header"
      - name: PERM_ADMIN
        value: "false"
      - name: PERM_EXECUTE
        value: "false"
      - name: PERM_CREATE
        value: "false"
      - name: PERM_RENAME
        value: "false"
      - name: PERM_MODIFY
        value: "false"
      - name: PERM_DELETE
        value: "false"
      - name: PERM_SHARE
        value: "false"
      - name: PERM_DOWNLOAD
        value: "false"
    volumeMounts:
      - name: volume-name
        mountPath: /path/to/mount

Note however that if you want to use a reverse proxy like Authentik for your authentication, you will need to update the auth method

Mirrors

This repository is activly maintained on my gitea. However you can find a github mirror as well.