Looking for guidance on how I should structure my containers/apps

Hello! I hope anyone reading this is doing well.

This is sort of a sequal to a post I made about a year ago regarding how I should configure some storage I got my hands on for my planned server/services. My situation has changed slightly and I need some advice on how I should run the apps and containers I plan on using.

The previous post for those curious.

Hardware


I now have gotten my hands on a Dell r440 that I’ve installed Truenas Scale on with the following specs:

  • CPUs:
    • CPU 1: Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz - Model 85 Stepping 4
    • CPU 2: Intel(R) Xeon(R) Gold 6130 CPU @ 2.10GHz - Model 85 Stepping 4
  • RAM:
    • CPU 1: 16GBx2 2600MHz ECC Memory (unsure of what variety)
    • CPU 2: 16GBx2 2600MHz ECC Memory (unsure of what variety)
  • Main Storage Pool:
    • 4X ST14000NM001G-2KJ103 (14TB) in a ZFS Striped Mirror
    • 2X INTEL SSDPEK1A118GA (118GB) mirrored as a metadata vdev

I plan on in the future trying to get my hands on a LOM riser for some sfp+ connectivity, using the two 16x half height PCIE risers for an external HBA (for an eventual disk shelf to expand the available storage) and an M.2 carrier card (for slot two since it can be bifurcated to allow for three 4x PCIE SSDs).
Currently I just have two super basic PCIE 4x to M.2 adapter cards in each riser since it was all I could afford at the moment.

I also still have my threadripper system mentioned in my previous post, but it now only has the two NVME ssds that were originally in it and no other changes.

Software/Containers


Currently on that threadripper system I have a few super basic docker-container images setup that I would like to replicate on my Truenas system (not the data, just the services).

The services that I have running in docker on the threadripper system that I want running on the dell server are the following:

  • nginx reverse proxy container w/ a lets encrypt container
    • Used to redirect my various subdomains to the correct web server container
  • 7x php-apache containers
    • Used to run some super basic web servers for the aforementioned subdomains.
    • Examples include mcinfo.robert-bare.tech, docs.robert-bare.tech, & stu.robert-bare.tech (Web Design is my passion /s)
    • Frankly I don’t need or use the PHP aspect of these containers for the most part, it was just the container used in the guide I followed to setup a super basic web server. The only server that makes use of any PHP is the stu.robert-bare.tech](https://stu.robert-bare.tech/) web server. I also spun one up for every subdomain because it was the easiest and simplest way to do it in the docker-compose guide I followed.
  • NextCloud setup
    • Containers:
      • Nextcloud frontend container
      • Nextcloud container for CRON jobs
      • mariaDB container for the database
      • nextav container for file scanning (never got this actually working)
    • This is my primary concern to get moved to the new dell server.

What I Have In Mind


I would like to make the Dell r440 my stable “services for friends and family” system that is focused on uptime and stability. While I continue to use my Threadripper system for testing and messing around on. I tested and messed around with nextcloud and containerizing everything with docker, but now that I’ve come to rely on some of those services I want to move them to something more permanent.

I am not attached in anyway to the current architecture of my services, it was simply a way for me to get them up and running and get used to docker-compose. If there is an easier and simpler way to get the services I want running on the Truenas Scale box then I am all for it.

My storage configuration on Truenas is not set in stone and I’d be more than willing and able to reconfigure/refactor my setup if it would be appropriate.

Additionally I am also not attached to truenas scale for my host OS. I simply chose it as it seemed to have reasonable default settings for setting up a basic ZFS pool and also the webui was much easier to navigate as someone new to ZFS over setting it up in the terminal on Ubuntu. Also scale while still sort of in Beta seemed to have the most solid support for containers and VMs compared to something like core.

Using Truenas also opens the door to being able to replace the aging Synology DS211j my mother currently uses to store her photos (she likes the workflow of having an SMB share she can access on her laptop and phone from anywhere via wireguard). This isn’t a hard requirement or need, but a nice to have.

TL/DR


I am new to Truenas and ZFS, as well as sharp enough to be dangerous when it comes to running services in containers. I was hoping I might be able to pick the brains of the folks on these forums to see what the best way to go about my goals would be with the hardware I have (blew my budget and with the semester starting again I really don’t have any money to go further =P )

So idk if you have spent any time on my or others threads about using TruNAS Scale but I wouldn’t recommend it for hosting docker or VM’s. If most of your file sharing is handled by something like Nextcloud, Jellyfin, etc. then I would highly recommend you use proxmox or Debian as a host OS then use docker containers for services then manually set whatever few remaining NFS or SMB shares you have. TruNAS will cause nothing but headaches down the line if you are depending on it for reliable containerization

Seems a bit excessive, not very efficient quite a bit of maintence overhead having a nginx reverse proxy on top of a bunch of apache containers on the same host but I guess there’s not much traffic going. Just consolidate everything into nginx?

You’re probably better off looking at a distro like ucav117 suggested or possibly jails and/or bhyve in FreeBSD if ZFS is of primary interest.