How do you like that topic title? Are you scared yet, cause I am.
I have been playing around with streaming options other than Ant Media, and I installed a container in Reclaim Cloud running Owncast using the DockerHub repository, which is pretty slick. The one I installed seems to be the official container Owncast recommends: https://hub.docker.com/r/gabekangas/owncast
That worked swimmingly, and Owncast was up and running at http://cast.bava.tv in seconds. Yeah!
After some minor tweaks, the next step was getting the SSL certificate to work so that I could embed the stream in another webpage, and that is where I have lost several hours now. Booh!
Here is the relevant page at Owncast that recommends several SSL Proxy options:
https://owncast.online/docs/sslproxies/
I played with two of them, Caddy and Nginx, and the larger issue here, most certainly, is I’m out of my depth, but the more focused issue is the Owncast container is an Alpine Linux distro so I’m having difficulties running some of the basic Caddy commands I need to get the reserve proxy setup. For example, when I follow this guide for running Caddy with Owncast, I cannot run the following command because reverse-proxy is not recognized:
caddy reverse-proxy --from cast.bava.tv --to 127.0.0.1:8080
I am also not confident managing permissions and installing various dependencies given the commands for Alpine Linux are a whole different animal. Same thing goes for Docker commands within Linux Alpine:
https://docs.genesys.com/Documentation/System/latest/DDG/InstallationofDockeronAlpineLinux
So, I am throwing up a bit of a Hail Mary here to see if anyone has some advice. I toyed with trying this plugin for a Docker container Caddy proxy which seems that it will automatically configure things based on tags, but after reading through the doc I knew I was out of my depth.
I almost ran the following Docker command successfully (found here) in the container, which was a huge win for me, but not sure it worked, and it gets me no closer to a reverse Proxy
docker run -d -p 80:80 -p 443:443 \
-v /site:/srv \
-v caddy_data:/data \
-v caddy_config:/config \
caddy caddy file-server --domain cast.bava.tv
Folks say Caddy is the quickest and simplest way, and they may be right given I got even a bit more confused when trying Nginx.
I figured I would install a Nginx load balancer on top of the OwnCast container in Reclaim Cloud. I gave both public IP address and ran the A record to the Nginx load balancer IP. After following this guide for getting let’s encrypt to work with Nginx I was successful at getting a SSL cert for cast.bava.tv, but it would not forward to the container with Owncast, it just threw a 403 error, I figured there might be a way to pass that through, but the Nginx syntax intimidates me, andI found myself going in circles. I may have even been closer with Nginx, but I came up against some hard limits with my understanding of how the conf files work.