I am working on setting up a home server but I want it to be reproducible if I need to make large changes, switch out hardware, or restore from a failure. What do you use to handle this?

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 10 months ago (2 children)

This is pretty much my setup as well. Proxmox on bare metal, then everything I do are in Ubuntu LXC containers, which have docker installed inside each of them running whatever docker stack.

I just installed Portainer and got the standalone agents installed on each LXC container, so it's helped massively with managing each docker setup.

Of course you can do whatever base image you want for the LXC container, I just prefer Ubuntu for my homelab.

I do need to setup a golden image though to make stand-ups easier...one thing at a time though!

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 10 months ago (1 child)

    So you make in proxmox container (LXC) the docker container?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 10 months ago

    Yes, essentially I have:

    Proxmox Baremetal
        ↪LXC1
            ↪Docker Container1
        ↪LXC2
            ↪Docker Container2
        ↪LXC3
            ↪Docker Container 3
    

    Or using real services:

    Proxmox Baremetal
        ↪Ubuntu LXC1 192.168.1.11
            ↪Docker Stack ("Profana")
                ↪cadvisor
                  grafana
                  node_exporter
                  prometheus
        ↪Ubuntu LXC2 192.168.1.12
            ↪Docker Stack ("paperless-ngx")
                ↪paperless-ngx-webserver-1
                  apache/tika
                  gotenberg
                  postgresdb
                  redis
        ↪Ubuntu LXC3 192.168.1.13
            ↪Docker Stack ("teamspeak")
                ↪teamspeak
                  mariadb
    

    I do have a AMP game server, which AMP is installed in the Ubuntu container directly, but AMP uses docker to create the game servers.

    Doing it this way(individual Ubuntu containers with docker installed on each) allows me to stop and start individual services, take backups via proxmox, restore from backups, and also manage things a bit more directly with IP assignment.

    I also have pfSense installed as a full VM on my Proxmox and pfSense handles all of my firewall rules and SSL cert management/renewals. So none of my ubuntu/docker containers need to configure SSL services, pfSense just does SSL offloading and injects my SSL certs as requests come in.

  • source
  • parent