Lots of ways to do this, but this is pretty easy:
Install portainer
Configure new repo for templates:
https://raw.githubusercontent.com/SelfhostedPro/selfhosted_templates/master/Template/template.json
Install NGINX Proxy Manager, forward ports: 443:4443, 80:8080 and MAYBE 81:8181
Mgmt port is 81, so keep that protected as needed depending on where you built it.
Default login is: admin@example.com Password: changeme
Change that immediately.
Saves configs to:
/portainer/Files/AppData/Config/Nginx-Proxy /config
Lets say you want to set up Sickgear on http://192.168.0.55:8081/ to respond to sickgear.mydomain.com
- Add DNS alias for sickgear.mydomain.com
- Wait for it to resolve
- Log into your NGINX Proxy Manager
- Hosts – Proxy hosts
- Click the “Add Proxy Host” button
- Fill in sickrage.mydomain.com in the domain name
- The Scheme, Forward hostname/IP and port are all dependent on the backend, so our “http://192.168.0.55:8081/” gets split up into http, 192.168.0.55, and 8081
- You’ll have to decide if you need caching or websockets support, you can likely turn them all on and see if it works properly
- Access lists can be applied, but have to be set up before you can use them, you can come back to this.
- if you are stacking services on top of a single domain name, then custom locations is where you split out /path to http://otherhost:1234, we aren’t doing that right now
- If you need an SSL cert, go to the SSL tab and choose “Request a New SSL Certificate”, you will need your email address that is associated with your Lets Encrypt account, and click the I Agree to the TOS. The defaults are fine, you can tighten things up if you need to later.
- Click Save
- Usually the cert and forwarding is ready to go in under a minute if you have things forwarded properly (generally 80 and 443 to the NGINX Proxy Manager is all you need)
You should now be able to hit your https://sickrage.mydomain.com/ and have a valid SSL certificate.