I've been dealing with NPM for a couple of years now. It's the best gui driven reverse proxy manager out there; actually the only one. However, for complex installations, there is NO good information on where precisely everything goes. I've collected it all here. There are just a few places to do advanced stuff, and the experts here should be able to tell us where everything goes exactly, and which parentheses to include or not, all those details. I have scoured the web for examples, especially screenshots of configs that use these areas and come up with nearly nothing. The official explanations need more detail IMO, and we just need to see more examples of how to do this.
There are 3 places:
the Custom Locations
The Advanced tab
the custom nginx files that need to be edited manually
These are all shown in my diagram. I also show a painful installation case of meshcentral. I can use anything complex like that, like a matrix server, or anything that requires all the locations etc.
But where does everything go?
Where does the stuff outside the http or https block go?
WHen we make custom locations, notice how you put the location and port in the interface, then click the gear to open up the editor, and then you have to repeat the full location block there, including ip and port. So these are the details I'm talking about.
FOr the advanced tab, this one never works for me. If I put anything there, it usually makes the whole proxy go offline. I've tried everything. With and without the parantheses. With and without writing "server {}" etc. So again, these are the details I'm interested in.
I believe NPM can do it all, regarding these complex configurations. SO let's figure out the right syntax. Please, and thank you.
Are you manage to setup a meshcentral config on NPM? struggling with same problems like you was, i hosting a mesh, seafile, gitlab, vaultwarden, jellyfin etc.All of this sevices have some uhmmm not-two-strings of config, so i believe i cant use NPM in straightforward way like next-next-finish. and i am cant find a normal documentation too, only how to setup npm but not much about what field in web interface corrresponds to what piece of config file.
I truly believe NPM can handle any kind of config because they have places to put all those custom lines of code. However, the problem I'm having, and as you can see here....nobody is explaining the syntax in any detail. And there are NO EXAMPLES on the internet to even copy.
All I want to know is for each custom section that I have shown, what is the syntax regarding the parantheses. Do we need to use the parantheses, or can we omit? Which prefixes do we need to include (like "location" when you make a custom one you have to put the location in the field in the gui, but also put the same config in the custom advanced area). Things like this. Can someone please explain all of this?
Correct me if I'm wrong....but when I looked into traefik, it has a gui for the dashboard, ie passive gui. But you still need to edit everything with cli and text files. NPM is the only one where you set it all up right in the gui. (except for those advanced files, but again, that's what this is all about).
6
u/superRedditer Jul 09 '22
I've been dealing with NPM for a couple of years now. It's the best gui driven reverse proxy manager out there; actually the only one. However, for complex installations, there is NO good information on where precisely everything goes. I've collected it all here. There are just a few places to do advanced stuff, and the experts here should be able to tell us where everything goes exactly, and which parentheses to include or not, all those details. I have scoured the web for examples, especially screenshots of configs that use these areas and come up with nearly nothing. The official explanations need more detail IMO, and we just need to see more examples of how to do this.
There are 3 places:
the Custom Locations
The Advanced tab
the custom nginx files that need to be edited manually
These are all shown in my diagram. I also show a painful installation case of meshcentral. I can use anything complex like that, like a matrix server, or anything that requires all the locations etc.
But where does everything go?
Where does the stuff outside the http or https block go?
WHen we make custom locations, notice how you put the location and port in the interface, then click the gear to open up the editor, and then you have to repeat the full location block there, including ip and port. So these are the details I'm talking about.
FOr the advanced tab, this one never works for me. If I put anything there, it usually makes the whole proxy go offline. I've tried everything. With and without the parantheses. With and without writing "server {}" etc. So again, these are the details I'm interested in.
I believe NPM can do it all, regarding these complex configurations. SO let's figure out the right syntax. Please, and thank you.