Running a server on Raspberry Pi 4 with HomelabOs and Docker – A recipe.

A base install of HomelabOS using the DEV branch as this meant that Terraform worked properly and you can then spin up a DigitalOcean droplet to make a Bastion server connection and point a domain to this to make the whole caboodle web accessible. The Bastion (a digital ocean problem) will lose the resolv.conf nameserver occasionally so you have to poke at this with 1.1.1.1 or 8.8.8.8 for a working DNS for running make deploy.

Raspberry Pi uses the ARM64 v8 so no everything listed on HomeLabOs will work – in fact a lot of things have to be tweaked to get Docker containers with the correct architecture. The HomelabOS scripts will whinge that ARM64 v8 architecture is not the recognised architecture if using “make set ” – Use “make deploy” it will grind through the script but will work.

Here's where we go so far:

Heimdall Dashboard : Latest works with no problems. You get a nicely set out landing page for your microservices and this has been much improved of late to ease setting up non-listed applications. heimdall

Ghost : Version 5 will not play nicely yet with ARM64 v8 so version 4 it is. Robust and fast enough as blogging platform. Version 4 is an upgrade from HomelabOs as they use a very old version. Using 4 means you can mostly use newer (free) templates that you cannot on the standard version which is now pretty old. Mail stuff will work with Mailgun API. A different tale on how to set that up for another post..

Grocy : Grocery/food shop manager. works straight off. Grocy

FreshRSS : Working happily. FreshRSS is a self-hosted RSS and Atom feed aggregator. It is lightweight, easy to work with, powerful, and customizable. FreshRss

Pixelfed Self-hosted Instagram clone. Works but a bit resource hungry (see alternative with Chevereto) Pixelfed

PrivateBin PrivateBin is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Initial setup can throw some odd errors but it does all work. PrivateBin

Codeserver :

The Visual Studio Code Server is a service you can run on a remote development machine, like your desktop PC or a virtual machine (VM). It allows you to securely connect to that remote machine from anywhere through a local VS Code client, without the requirement of SSH.

Works nicely. Codeserver

Mealie Very cool recipe manager. Needed some docker-compose tweaks for an ARM64 v8 container version and some fiddling around with database settings but works. Patience as post install it can take a while to come live but is then stable.

Mealie

Plex Plex media server. HomelabOS install method is flaky as you will never get enough time on the “claim” token is using their method. I found using “docker-compose up -d” to bring up the server and then using the token claim to get a token and then manually pasting this into docker-compose.yml and the vault far more effective, particularly if you have other Plex servers running. Will handle a music library but larger file movie transcoding is probably a bit too taxing for a Pi. There are other music servers that will work but Plex is my media server of choice as it allows me to stream on Alexa devices. Emby will do this too but is a bit more fiddly to get working as an Alexa skill.

Plex

HedgeDoc HedgeDoc (formerly known as CodiMD) is an open-source, web-based, self-hosted, collaborative markdown editor. Needed a re-write of the docker-compose.yml as setup quite different to HomelabOS CodiMD – mainly setting up database environment correctly and using an ARM64 V8 version. Works nicely now but was a challenge to get working initially. Shaarli

Shaarli The personal, minimalist, super fast, database-free, bookmarking service. My custom docker-compose.yml but easy to set up (Not included in HomelabOS) but always very useful. Shaarli bookmark

Writefreely An open source platform for building a writing space on the web. This is what you are reading this on. Uses a customised docker-compose.yml as not included in HomelabOS. You'll need to play around with some config settings in a text editor.

Chevereto Chevereto is a powerful image and video hosting script that allows you to create a beautiful media hosting website with all the features you need. It's like a self-hosted IMGUR and useful for creating thumbnails for blogs like this if you want to keep things simple and “in house” I need to make proper notes on how I got this working: The install instructions are not great on the site and your images repository/volume must be set to www-data user and group and the install will choke unless the directory is writable. Probably the most fun headscratcher to get working. Chevereto