Technical Upgrade

2025-09-20

I run this server using nginx and elixir. I love elixir for a lot of reasons and use it mainly at work, and I run nginx as a front end to handle things like SSL. All of this runs on top of linux and runs using systemd to keep things running if they crash. And I think this is a really good set up, especially if you can stand up a lot of different servers. To this configuration I added a VPN and some other web servers. And I have played around with this configuration a lot, if I have multiple web servers I used to run multiple nginx processes. Then I switched to using one nginx for multiple elixir processes.

And so about two weeks ago now I made another engineering change, I wanted to use docker for everything. I dont love docker, it adds another layer of complexity, everything runs in a container and you got up to set up the containers. It is a lot of extra setup. And if you wanted to see a file in the docker container, you gotta run some extra docker commands, you can’t just ssh to the server. But the nice part is that everything is very contained. I can spin up and tear down containers pretty easily and not worry about them messing up with one another. The main thing I have to watch out for is making sure they user different ports.

But right now I have dockerized everything and so my main containers are:

And if I want to add other stuff or another I can add another docker container. And the best part is if I no longer want something I can blow up a container and not worry about taking down other stuff.

Also one more note, I tried to use some type of light weight kubernetes to run the web server and it was a total pain in the butt and took too many resources. So I switched to just use docker compose.

-Gary