My primary goal, in simplest terms, is to be able to type something such as cookbook.charles.home into my web browser and be brought to the webUI of a Docker container I use as a cookbook
Currently I must type dockerserver:8888 dockerserver is the host name that pfSense provides the Ubuntu server I am using to run Docker. 8888 is the port assigned to the specific container running my cookbook.
I should note that I am only talking about accessing these services while on my local LAN (or connected to it via VPN).
I’m a bit new to running Docker containers by way of using Docker compose on an Ubuntu server. I’ve been using Docker for a few years by way of unraid. Unraid was great, but after a while I wanted to learn how to do it the standard way with Docker-compose.
Could anyone point me to what I am looking for? I’ve heard about tropics such as reverse proxies and let’s encrypt but all the info I’ve found about those two related to hosting publicly accessibly services which (at this point anyway) I have no need to exposes the services to the public internet.
You’ll need 2 things setup for this to work - a DNS resolver and a reverse proxy.
The DNS resolver points the right FQDN to your reverse proxy.
The reverse proxy serves the FQDN as an “overlay” to ip-address:port, so for instance cookbook.charles.home would show the content of 192.168.1.120:8888 (the port exposed by the docker cointainer).
An added benefit of using a reverse proxy is that you can use a wildcard (*) certificate for all your services, so you don’t need to renew certificate for each service.
I am already using a DNS resolver- I’m using unbound built into pfSense. So it looks like I need to look at a few reverse proxy options and see which is best for me. I’ll dive into the nginx offering first and see what I find.
Hi. Yes, you can use it on your local network only. As long as your local DNS entries point to the local reverse proxy host.
If you want to use it on an internet domain, your public DNS point to your WAN IP, and you set up a port forward on port 80 and 443 to your local reverse proxy host. But this is entirely optional.
I just want to point out one thing with Nginx Proxy Manager.
As it is right now, the log files grow indefinitely, so you have to setup some way to clean the logs periodically.