Basically I have a vps running traefik and a bunch of self-hosted services with letsencrypt in a docker-compose stack, but I want it to also be able to take an ssh-forwarded https port and use ssl termination to get it a letsencrypt cert and point it to the domain I want. Apparently the way to do this is to use the traefik file provider option, but at this point I've been trying to get that to work for a month and I have no idea why traefik doesn't recognize the port.
Do you have any recommendations for someone looking for this setup? As I said I'm willing to scrap my current setup, but would still like to be able to have it all run in docker-compose and not renew the certs by hand.
If you're using the auto-mapping stuff, then honestly it sounds like getting traefik to work for the SSH port is probably your best bet. Do you need it to dynamically set up new ports, or is it the type of thing you have a static set of tunnels you always want available?
I don't need to dynamically set up the new ports really. I just have a shell script on the server that forwards the ports using ssh forwarding, and those ports probably won't ever change.
Have you done something similar with an alternative tool? It wouldn't break my heart to migrate from traefik to something else, although I do REALLY appreciate how it integrates into docker-compose and how easy it makes letsencrypt cert creation / renewal (I didn't really like the nginx solutions I was seeing for letsencrypt)
I still miss Serveo because this was easiest tunnel solution that "just works!"
As i said - I THINK!
If you just need ad-hoc tunnels on someone else's servers for free, I'm not sure what the leading options are. localhost.run is one.
https://github.com/anderspitman/awesome-tunneling.
There are a surprising number of tools that all do essentially the same thing, and it's often hard to tell how they're different from the other 30 options.
Making a really good solution to this problem has been the focus of my free time for the past month since I wrote this comment[0].
The project I'm working on:
* 100% open source and MIT licensed
* Strive for simplicity throughout. Very few dependencies. No config files, and only a single CLI parameter required to run the server.
* Clients can be remote controlled by the server, and each client can open an arbitrary number of tunnels. ie you don't have to start a separate ngrok process for each tunnel. Just set up the client on each machine you want to tunnel out of and forget about it. Everything is controlled through a simple web UI (or REST api).
* Automate as much as possible. Tunnel creation and Let's Encrypt are already working. Eventually you'll be able to add an API token from your DNS provider and that'll be automated as well.
It's not quite ready (launch planned for 31 Oct 2020), but you can check it out here: https://boringproxy.io/
[0]: https://news.ycombinator.com/item?id=24475946