Experimenting with Pi Hosted and Portainer

Yesterday I watched a video about setting up a [Mini Nextcloud Server on a Pi 5](https://www.youtube.com/watch?v=rnZoTEZ2Z0U) so I experimented with using the [Pi-Hosted](https://pi-hosted.com/) script to install docker and then portainer. Pi Hoster uses two scripts. One installs Docker and the second one installs Portainer. Portainer is a web interface to install docker containers instead of doing the same thing via the command line. It allows you to install Pi-Hole, Ad Guard, PhotoPrism, Nextcloud and many other solutions on a single server with relative ease.

## Opaque Installations

I say relative ease because I find that with Docker containers and Portainer it installs things without making it clear where things are installed. Docker and portainer also have the bad habit of putting things on a network that is internal to Docker and Portainer. It simplifes things so far that you are not fully aware of what it has done. It took trial and error before I managed to learn what the admin user name was, and I had to reset the password, before I could use it. I think that PhotoPrism did not like my password so it ignored it, without portainer warning me, so I had to look for instructions on how to reset the password manually.

## Several Apps on a Single Machine

Once I had achieved this I had NextCloud and PhotoPrism running side by side as docker containers setup by Portainer. I don't like not knowing everything I need to know about an install. I also wish that Docker, and portainer would make adding devices to the home wifi network more intuitive. That's one of the things I need to learn more about.

## Backup and Replicate

One useful feature of portainer, and the reason I wanted to experiment with it, is that you can backup the setup from one machine, and replicate it on another. If I have a Raspberry Pi and I configure it to have Home-Assistant, Pi-Hole, NextCloud, PhotoPrism and one or two apps then I can save the backup file, and launch it on a second machine and it will install the same apps with the same configs to that machine.

You might spend minutes, hours or days trouble shooting but once you find a solution that works it becomes replicable. This is a key part of modern computing.

## And Finally

If you're looking to learn about setting NextCloud and PhotoPrism up manually then you can find tutorials for that but it takes time, and trial and error to get things to work well together. The second option is to download dedicated images where a Pi runs NextCloud, or a Pi runs Pi Hole, or a Pi runs PhotoPrism. The drawback is that you need one Pi per project, which takes space.

By using Pi-Hosted to install Docker and Portainer with ease, and then using the Pi specific template, you are able to install Pi friendly docker images with ease, through docker, although some trial and error still takes place. I would recommend using Docker and Portainer once you know what you want to install and you want to shift from experimentation to production, at least within the home. Once the Portainer apps are setup, and you backup, you can migrate to another Pi, without cloning SD cards, or going through the same steps every time.

Pi-Hosted is useful to know about, to save time with future installs.