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!
- Using Balena Etcher i burned the standard Alpine Linux image to a USB drive and booted into the system.
- Standard log in is
root
without password. Run:
setup-alpine
- Follow the instructions and provide the information, then choose
sys
as disk system. - Enable community repository in the following file:
vi /etc/apk/repositories
and update the index:
apk update
- 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.
- Podman can be installed via
podman
package in the community repository.
apk add podman
- To run podman you'll need to enable the cgroups service, consider enabling cgroups v2.
rc-update add cgroups
rc-service cgroups start
- For rootless support:
modprobe tun
echo tun >>/etc/modules
echo <USER>:100000:65536 >/etc/subuid
echo <USER>:100000:65536 >/etc/subgid
- 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