I am getting started with self hosting and one of the things I would love to host is a Signal TLS proxy using Docker.

Problem is that I have ports 80 and 443 taken by Nginx Proxy Manager (also in a Docker container), through which I forward to different services depending on the subdomain.

I tried modifying the docker-compose.yml file to use ports 9443 and 980 and have it working using a certificate created on NPM, but to no avail.

Being a beginner, it can well be that I don’t understand reverse proxies well enough, but that’s why, with your help I would love to take this opportunity to learn more.

Thanks in advance.

  • themachine@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 hours ago

    NPM likes to eat the let encrypt requests which is what I’m assuming is breaking the cert gen inside the container. I believe you can work around this, but honestly I’d recommend just moving to a more advanced but more flexibile proxy solution.

    Personally I recommend Traefik. There isn’t a friendly gui to help you but once you wrap your head around it things just work. It also allows for defining proxy parameters right in your compose file via labels so it takes out the need to log into NPM and manage proxy entries there. Just deploy you’re compose fils and you’re off.

    As far as making what you’ve got just work, you can either try to get NPM to stop intercepting the LE cert requests or hack up the signal-tls-relay container and jam the NPM certs into it. I wouldn’t recommend either of these options though. I’ve been in a similar scenario and it’s this among other reasons why I moved off NPM. I started with NPM because I thought it would be simple and easy and it is, right up until you want to do a thing even slightly outside of its fairly limited box.