i am hosting all my services inside of docker from my oracle server. and it is managed through dockge, which is a great docker stack management platform. same creator as uptime kuma. anyways, i am hosting authentik as a docker container and as i posted before, i also have it running locally inside a proxmox lxc container. the setup is a bit different since on prem, it was installed using packages. on the docker container, it is a bit more contained and has ‘easier’ access to the environment variables.
in my previous post about authentik, it described the branding of the application. well here it is the same, but with a few minor tweaks. the path that is shown in authentik is:
/static/dist/assets/icon/logo.png
which is correct for the website configuration, but looking deeper into the directory files, these are actually stored in this file path:
/web/dist/assets/icon/logo.png
which is pretty much similar, i assume that it is an alias. but pretty much what is needed on the dockge side is to map the volume to the host machine so that you can add files and it can sync with the container. this is done by adding a file path to the ‘volumes:’ section that has the existing ./media and ./custom-templates. there is two spots so make sure the folder is mapped on both spots. the end result will look like this:
./icon:/web/dist/assets/icon
deploy the container again and you will see that there is a new icon folder creating in the authentik folder on the host. it will also clear the folder as well, so there will be no logo in place. this can be avoided if you add this volume mapping before installing it for the first time. but for my case, i did this afterwards and it wiped the whole folder.
to get the image onto the server, you can use curl to install an image from the web. the command is this:
curl -o logo.png https://domain.com/logo.png
from here you can go into authentik, admin console, system, brands, and change the icon to the name you downloaded the file as. i recommend using the ‘logo.png’. once it is assigned, you can open a private tab and go to the authentik url to prompt the login screen. if all went well, the logo should now be the one you imported.
this same process goes for the website icon and backgrounds. ensure to map the docker volumes. or if you just want one volume mapping, then you can just add the images to the icons folder and call it a day.