this post was submitted on 05 Aug 2023
1 points (100.0% liked)

Self-Hosted Alternatives to Popular Services

0 readers
0 users here now

A place to share, discuss, discover, assist with, gain assistance for, and critique self-hosted alternatives to our favorite web apps, web...

founded 2 years ago
MODERATORS
 
This is an automated archive made by the Lemmit Bot.

The original was posted on /r/selfhosted by /u/Normanras on 2023-08-05 21:49:32.


For a while, I've been kicking myself because I had Nginx Proxy Manager setup but didn't really understand the underlying functionality of Nginx config files and how they work. The allure of a GUI!

As a self-hoster and homelabber, this was always on the "future todo list". Then, Christian Lempa published his video about the dangers of bringing small projects into your home lab - even as well-known ones as NPM.

I decided to make the move from NPM to Nginx and thought I'd share my experience and the steps I took with the community. I am not a content creator or any sort of professional documenter. But in my own self-hosted journey I've benefited so much from other people's blogs, websites, and write-ups, that this is just my small contribution back.

I committed the full write-up to my Github which may provide more details and insights. For those just here on Reddit, I have a short version below.

Some assumptions: I currently am using NPM with Docker and Nginx installed using Ubuntu's package manager. The file paths should be similar regardless of the hosting vehicle. I tried my best not to assume too much Linux/CLI knowledge, but if you've gotten this far, you should know some basic CLI commands including how to edit, copy, and symlink files. The full write-up has the full commands and example proxy host files.

There may be something wrong or essential that I've forgotten - I'm learning just like everyone else! Happy to incorporate changes.

tl;dr version

  1. Stop both NPM and Nginx first.

    • systemctl stop nginx
    • docker stop npm (or whatever you've named the container).
  2. Copy the following contents (including sub-directories) from the NPM /data/nginx directory to the Nginx /etc/nginx folder:

* `proxy_hosts` >  `sites-available`
* `conf.d` > `conf.d`
* `snippets` > `snippets`
* `custom_ssl` > `custom_ssl` (if applicable)

  1. Edit each file in your sites-available directory and update the paths. Most will change from /data/nginx/ to /etc/nginx.
  2. Edit your nginx.conf file and ensure the following two paths are there:
* `include /etc/nginx/conf.d/*.conf;` and `include /etc/nginx/sites-enabled/*;`

  1. From within the sites-available directory, symlink the proxy host files in sites-available to sites-enabled
* `ln -s * ./sites-enabled`

  1. Test your changes with nginx -t. Make appropriate changes if there are error messages.

And that's it! You can now start Nginx and check for any errors using systemctl status nginx. Good luck and happy hosting!

no comments (yet)
sorted by: hot top controversial new old
there doesn't seem to be anything here