Open menu
22.1°c in Melksham, UK

Home

Horwood Pi Lab

I have 9 Pi's running, they are a mix of versions from a 2B up to a 3B+. I have set up my Pis to do as few jobs as I can, this helps with the performance of the whole setup.

  1. pi-web - this is my internet-accessible Pi, it runs OpenVPN and nginx
  2. pi-php - this runs PHP7.2 and now docker
  3. pi-MySQL - this only runs MariaDB 10.3
  4. pi-file - this is my file server, it runs NFS to export the 3.5TB of spinny and SSD I have
  5. pi-docker01 - this is my docker swarm manager
  6. pi-docker02 - this is a docker swarm worker
  7. pi-snapcli01 - this now runs some media collection tools
  8. pi-tv01 - this is our new PVR running OSMC
  9. pi-cam01 (pi Zero W) - this is running motioneye for home assistant
  10. pi-hass01 - this is my home assistant install

Pi-Web

I have started using sury.org for my nginx install, as it works on the pis.
I have many sites that I run from nginx, most are internet accessible. but some are internal only.

OpenVPN is a standard install, with a custom user manager.
The user manager allows me to email out the config to new users, if I get a request for access.

Pi-PHP

My PHP pi is built from https://packages.sury.org/php/, this is where you can get PHP7.2 and even PHP7.3
This has allowed me to get a speed boost from nextcloud, but you might want to check your PHP code will work on new PHP.

To get the best performance from PHP, I would advise you to look at static children. You will also need to check out the memory use, before you change the settings, run top and look at the RSS column. This will tell you how much memory each child needs, then divide that into your total memory.

This now also runs docker as a worker, this helps spread the load out over 2 works now.

Pi-MySQL

This is installed from the Debian repos, I have then made config changes to make MySQL run in only 1G of memory. you should run mysqltuner.pl to make sure you have the config just right.

Pi-File

This is a standard install of NFS, I haven't made any changes to the configs. But I guess I probably should have a look at some point.

I still need to sort my disks out, but I have 3 spinning disks and an SSD all connected and mapped over NFS.

The other task file pi does is to upload backups to Backblaze every night using rclone, it also syncs nextcloud files every 20 minutes.

This now runs my Jellyfin server, this replaces subsonic as I have a small movie collection and subsonic doesnt do video so well.

pi-docker01

This is a docker swarm worker, its 1 of 2 that I have running.

It also runs my primary pihole, the secondary is on docker02

pi-docker02

This is my docker swarm manager, it has a minimal set of tasks. Like portainer and pihole

pi-hass01

This is my home assistant install, its not very fancy yet. but Im working on it, Im also looking to get my config up on github for the world to see.

Ansible

To make all this work, I have used Ansible. It makes updating and reinstalling easy, the next update here will be a link to my Git Repo.

Git Repos