this post was submitted on 08 Nov 2023
2 points (100.0% liked)

Self-Hosted Main

502 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

I followed this tutorial to setup NGINX Proxy Manager for my home lab. It's setup to only be accessible from within my network.

I have done the following:

  1. Purchased domain name from NameCheap
  2. Set the Nameservers in NameCheap to direct to my 2 Cloudflare Nameservers
  3. Set A and CNAME records in Cloudflare
  4. Configured SSL Certificate in Nginx Proxy Manager
  5. Added a Proxy Host

Here is my issue: when trying to go to [myDomain.com]; I get an error saying that it can't be reached.

I'm running this via Docker on a Synology. I also run a pfSense firewall.

My docker container is using the 'bridge' network, which all of the other containers I'm running are using. None of the Docker containers can be reached if I set the Destination in NPM to my host's IP address, or the Docker container name.

Any advice? I'm not sure where I went wrong here.

you are viewing a single comment's thread
view the rest of the comments
[–] arcadianarcadian@alien.top 1 points 10 months ago

You have to set the docker container name as the destination, not the host IP.

Test everything from the beginning.

# check your FQDN is set up correctly.

$ nslookup 1.1.1.1

$ nslookup 8.8.8.8

# Test your web host from out of the docker host.
$ curl -v http://your_fqdn

# test your web host on the host machine.
$ curl -v -H "Host: your_fqdn" http://localhost
# check if your port is exposed if you map it.

docker ps | grep

# check if your mapped port is listening on the docker host
netstat -tlnp | grep

#check if your container is reachable by NPM.

docker exec -it bash

[root@docker-278f29455e29:/app]# apt update && apt install netcat

[root@docker-278f29455e29:/app]# nc -zv

if NPM reaches docker, you're OK.

There are many things you have to check more, for example, NPM and your destination container should be in the same docker network.

# docker inspect | grep NetworkID
# docker inspect | grep NetworkID

They should be equal.

etc. etc.