Alpine Linux Server

I got these Fujitsu ThinClients S520 with the intent to use them for Home Assistant servers. They are equipped with 16 GB flash drive and 2 GB RAM. They also have a PCIe mCard slot but this is not mSata compatible so as far as i know there is no way to upgrade the memory without using USB. So let's try make due to with 16 GB.

Alpine Linux

Alpine Linux is a minimal distro which seems perfect for this application, so let's install it!

  1. Using Balena Etcher i burned the standard Alpine Linux image to a USB drive and booted into the system.
  2. Standard log in is root without password. Run:
setup-alpine 
  1. Follow the instructions and provide the information, then choose sys as disk system.
  2. Enable community repository in the following file:
vi /etc/apk/repositories

and update the index:

apk update
  1. Install necessary packages.
apk add bash
apk add busybox-initscripts
apk add sudo; echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel

Podman

Instead of using Docker i chose to go with the more light weight Podman. Following the instruction on https://wiki.alpinelinux.org/wiki/Podman was easy enough but for completeness i'll add them here.

  1. Podman can be installed via podman package in the community repository.
apk add podman
  1. To run podman you'll need to enable the cgroups service, consider enabling cgroups v2.
rc-update add cgroups
rc-service cgroups start
  1. For rootless support:
modprobe tun
echo tun >>/etc/modules
echo <USER>:100000:65536 >/etc/subuid
echo <USER>:100000:65536 >/etc/subgid
  1. Run an example container to verify everything works:
podman run --rm hello-world

Home Assistant

Now simply run:

podman run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=MY_TIME_ZONE \
  -v /PATH_TO_YOUR_CONFIG:/config \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

Docker compose

Docker compose can be used with podman

apk --no-cache add docker-cli docker-cli-compose 

Contact me