Pi-Hole and Searxng Question

Grenfur@lemmy.one to Selfhosted@lemmy.world – 10 points –

Hey all,

I'm relatively new to self hosting. I set up a SearxNG on my local network and then recently set up Pi-Hole. Searx is running in a docker container and Pi-Hole is not. However, after setting up Pi-hole the IP I use to connect to Searx now directs to the default the default placeholder page. So my Pi-hole runs on 192.168.0.19/admin and Searx used to run just on 192.168.0.19. I'm guessing there's a config somewhere that I can change to make both work at once I'm just not sure where. Google was less than helpful (or maybe I'm an idiot lol) so I was hoping someone here may have run into a similar issue.

12

You need a reverse proxy to accomplish this. The reverse proxy will have port 80 exposed and points PiHole/Searx containers and their respective ports for the paths you specify.

Ignore my ignorance here. You're talking about something like Nginx?

Yes, nginx and caddy are popular reverse proxies.

Without one you can only host applications on different ports, not combined on one port like you want.

Tge easiest way is probably to change the port of the Pihole config page

The issue is that pihole has a default on port 80 that can be set up to redirect to /admin. If your running searx on the same ports on the same IP something's gonna break.

You'll need to change one if the applications port number and specify the port in your URL (192.160.0.19:8080) to get there.

A reverse proxy will help only after you set your ports correctly.

Do you happen to know how I would find what port it's on and where I would change it? My Pi-hole actually defaulted to /admin, and when using my Searx instance I never had to use a port, so I'm not entirely sure where that info would be.

/admin isnt a port it is just a subdirectory of lighttpd, the webpage pihole uses to display itself. If you don't specify a port, your browser defaults to port 80 for http, and 443 on https.

You can use the netstat -a while the webpage is open on your terminal to find what port is in use.

In docker you can find this and change it in the yaml file if you deployed that way, otherwise you may need to kill the container and remake it and choose a different port when specifying the "p" in docker.

If you didn't use docker for pihole you will have to navigate to /etc/lighttpd/lighttpd.conf and modify the port number there.

Edit: if you want to add a reverse proxy to this equation with a an actual domain name and real SSL certs check out this video: https://www.youtube.com/watch?v=qlcVx-k-02E

Eyy! That got it! I think I'm still going to set up nginx to make it easier as I add more self hosts so I'm not trying to memorize everything's port. Thank you kindly for your time!

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
HTTP Hypertext Transfer Protocol, the Web
IP Internet Protocol
PiHole Network-wide ad-blocker (DNS sinkhole)
SSL Secure Sockets Layer, for transparent encryption
nginx Popular HTTP server

[Thread #182 for this sub, first seen 2nd Oct 2023, 21:05] [FAQ] [Full list] [Contact] [Source code]

Ports and reverse proxies aside (proxy would be my go to) you can also just assign another virtual IP on you interface.

I'm interested in how I would do this. Google basically just gives me steps for assigning IPs to VMs which isnt quite what I'm looking for.