Docker Compose Personal Stack
DISCLAIMER: this is still a huge work in progress.
Goal
This repository aims to have a small stack of self hosted programs that are accessible through a single endpoint, the reverse proxy (Nginx) in the rp folder, that exposes whatever pieces of the stack you decide to have accessible from the outside, with or without using a domain.
Why not Docker Swarm? Or k8s?
That's something else in the plans, but this was more an attempt to answer the question: "what if I have a single machine but I want some modularity, without having to think too much when I want to add something?". I could still use Swarm or k8s on a single machine, but I find this solution a bit more suitable.
How do I use this?
Nice question.
The rp folder is the first piece of the puzzle. It creates the proxy, the letsencrypt companion and the rp_reverse-proxy network that containers exposed to the internet will have to access. Every service in the Compose files tries to have the least amount of networks necessary to operate.
Conclusion (for now):
Although I still don't know if this approach has some major flaw(s), it has been reliable for many projects that I will add to this repository. Maybe someone else can find it useful for their projects, and if so I'm happy for you. I'll make sure to link as many references I followed as I can inside the individual Compose files.