Advice on doing ports and pkg's "right" for a new(ish) user

I'm starting to get a handle on pkg's and ports, along with setting up a poudriere server to host my own pkg repo. I think using pkg's makes the most sense for me, along with poudriere to build my own custom packages.

I'm playing around in a home lab for now with maybe 4-6 freeBSD servers. I've been able to do everything I want just fine using the packages, however, I did run into a challenge with a certain package (zabbix3-server) as the default configuration uses MySQL and my preference would be PostgreSQL, as well as a missing library that would allow it to speak with my ESXi server.

Now I could run with the pkg and things would work fine, it just wouldn't be my ideal (which is why we have ports right?). This leaves me with a couple of options I'm aware of:
  1. I can use pkg's on all my servers except for the server running Zabbix, and on that server I could use ports to customize the configuration
  2. I can use pkg's on all my servers and accept the default MySQL database as well as the lack of monitoring ESXi.
  3. I can setup a poudriere server, build all of the ports I need on that machine, and use that as a source of packages for all my remaining servers
  4. Use ports on all servers

Option 3 is the most robust and makes the most sense, but it also seems like it may be more work for the limited number of servers I'm running at home. Running a server just to manage packages for 4-6 machines is overkill no?

Any thoughts or wisdom from those of you that have been doing this for longer then me on a good approach that works today and for years to come?
Option 3 is the most robust and makes the most sense
You got it "right". And there is no reason for "don't do this at home". To me it is no overkill, it just works and have me saved a lot of problems like those you can read here on the forums again and again ... :)
Use option 3 and don't forget to disable the default FreeBSD repository.