The Nicest Pi Setup Yet

Reading Time: 2 minutes
There are several types of people. One of them is youtubers that try and fail until they succeed, and then there are people like me, who also try and fail until they succeed. In one case the individual probably gets millions of views, and earns enough to waste hundreds of dollars per video in microtransactions, to people like me who are experimenting with Pis because it’s cheaper, once you know what you’re doing than getting a synology box.

Over a few weeks I have experimented with installing Ubuntu and Raspberry Pi OS on several Pis and then added docker containers, and tried installing straight to the system. In the process I have iterated and iterated until I developed an effective work flow. Yesterday I spent an hour or two preparing an Ubuntu SD card, snap installing Nextcloud, and then docker, and then Photoprism, Immich, Home assistant and maybe one or two other apps. I also set photoprism to boot automatically at start up. When I tried to do the same with Immich it failed. In the end I settled for a shell script, thanks to Chat GPT help.

I kept a copy of the 48 commands I got to setup the system but ignored the trial and error part, for now. Ideally I should setup a script that can do this configuration automatically. I would install ubuntu, boot it up, and then run the shell script to install what I want automatically, so that a system is quick and easy to setup.

## Centralised

Initially I had one Pi per service/server. This gave me the freedom to experiment with one service/server without destroying everything else. As I began to understand how the apps/services/servers work I was able to move them together on the same machine and have them run side by side. I go from needing several Pis with dedicated roles to a single Pi that can do it all, if I feel like centralising everything. Before I centralise everything I want to be able to migrate the logs and data from several apps to a central point.

I like that Home Assistant has weather data for several weeks. Part of the learning process is learning to move data between systems without losing their history.

## And Finally

By installing a system, and then re-installing it over and over I learn with each iteration, and with each iteration I see something that could be improved so I improve it. Eventually I get a work flow that is fluid and does what I want with relative ease. I kept those 48 lines of commands so that when I do this again I can refer to my “notes” rather than several pages from two or three sites, and Chat GPT. That I managed to install Immich and Homestation counts as a success, because I had tried and failed to install both of them recently.