I get asked sometimes what I use my Unraid server for that is sat in my garage using power. The answer is loads of things, and I figured I would start documenting them here. I will skip over backups for now, but I do use it for that.
I run a load of Dockers in Unraid to self host lots of useful web apps and other tools. I have got way more interested in self hosting these days for a couple of reasons. The two main ones being that I am keen to control as much of my own data as possible, and that I think that self-hosting is actually a lot easier these days and probably more interesting.
Karakeep
Karakeep (formally called Hoarder I think) is a really useful book marking tool. It actually does a lot more than simply store a link, as it will take a snapshot of the site and also generate tags and even summaries of the site using AI (which can also be locally hosted, e.g. Ollama).
You can read about the many features of Karakeep over on the GitHub, but for me just being able to collect bookmarks, tag them automatically, and the be able to search them is really useful. Additionally, the fact that it takes a snapshot is also very handy. The one thing that I would love is if could keep multiple snapshots from different times, this would be really helpful for academic work. But there are other tools that can do that… more on those later perhaps.
Getting it working
Installing it via docker is a breeze, and there are a load of guides out there that will help you do that. However I use an Apache2 reverse proxy to make Karakeep available via the internet, and that did need a little bit of work to get configured correctly. The thing that was missing for ages was the ‘nocanon’, this stops a weird bug where the preview of a bookmark would not load first time. If you use this I suggest you remove the lets encrypt section at the bottom and have cerbot make that for you, and don’t forget to put in your domains and IPs etc.
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example.net
ServerAlias www.example.net
ServerAdmin admin@email.email
# Proxy settings
ProxyPreserveHost On
ProxyRequests Off
# Tell Karakeep it's being accessed over HTTPS
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"
# WebSocket support
ProxyPass /ws/ ws://xx.xx.xx.xx:3333/ws/
ProxyPassReverse /ws/ ws://xx.xx.xx.xx:3333/ws/
ProxyPass / http://xx.xx.xx.xx:3333/ nocanon
ProxyPassReverse / http://xx.xx.xx.xx:3333/
# Connection and timeout settings - KEY CHANGES HERE
ProxyTimeout 60
Timeout 60
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/example.net/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.net/privkey.pem
</VirtualHost>
</IfModule>
So that is Karakeep, great web app, use it all the time and a great tool to self host. Especially now that search is crap and you might want to keep track of interesting websites yourself.