tylerperkins.xyz/content/posts/filebrowser-sidecar/filebrowser-sidecar.md
Tyler Perkins 277c72a17c
All checks were successful
continuous-integration/drone/push Build is passing
Add filebrowser sidecar post
2023-12-18 19:34:44 -05:00

50 lines
4.2 KiB
Markdown

---
title: "Filebrowser Sidecar"
date: 2023-12-18T19:02:43-05:00
draft: false
---
So [last time](https://www.clortox.com/posts/kubernetes-at-home/) I talked about my
home k3s cluster. I still have been non stop tinkering with the thing, and its a blast.
I really enjoy tinkering with it, hosting my own apps for myself and my friends/family,
and just getting to learn more about the high availability hosting stuff.
With that said, there are definitely growing pains compared to just a straight docker setup.
With more moving parts, theres only more stuff to break, and it breaks kinda often.
Part of it is me not knowing the best practices, and trying to pick it up as I go. And
another large part is the older hardware I use. However the greatest pain is storage.
I use [longhorn](https://longhorn.io) for sharded storage in the cluster, each machine
has 2TB of memory to contribute, which for a small database and some config files is
more than enough. However, what do I do when I want to edit some files in a volume directly?
Or just look at them to satiate my own curiosity?
So my journey began with using [filebrowser](https://filebrowser.org) as a simple sidecar, which worked for quickly testing stuff. But I wanted something a bit more permament, and something that did not default to very insure credentials. It also needed to not rely on some local files for credentials, I didn't want to make a whole pvc volume just for a sqlite database of a few kilobytes.
My response to all of this is a [custom filebrowser extension](https://git.clortox.com/Infrastructure/Filebrowser)! This container
uses environment variables to configure the container every time it is built, so that you don't need any configuration!
This solves all the issues I had with it prior, and makes it a much more friendly solution for my personal usecase.
I have more instructions at the actual git repository linked above, but I'll include some of the environment variables that can be
configured below incase you are curious.
| 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](https://filebrowser.org/configuration/authentication-method) should be used? | `json` |
| `AUTH_HEADER` | What header should be used for [proxy authentication](https://filebrowser.org/configuration/authentication-method#proxy-header)? | `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` |
If you have any feature requests or issues with it, feel free to open an issue either on [gitea](https://git.clortox.com/Infrastructure/Filebrowser)
or [github](https://github.com/Clortox/Filebrowser).