Hello, I want to install searxng without using Docker on my homeserver so I basically run the install script from the official documentation. Already tried to use the automatic script for setting up apache and it basically worked by exposing /searxng. But I would like to do something simpler as I like that apache would only expose localhost:80 (for example) to use a reverse proxy later to point to it. Just wondering how this configuration work and how I could do something that applicates to my use case :
# -*- coding: utf-8; mode: apache -*-
LoadModule ssl_module           /mod_ssl.so
LoadModule headers_module       /mod_headers.so
LoadModule proxy_module         /mod_proxy.so
LoadModule proxy_uwsgi_module   /mod_proxy_uwsgi.so
# LoadModule setenvif_module      /mod_setenvif.so
#
# SetEnvIf Request_URI /searxng dontlog
# CustomLog /dev/null combined env=dontlog
<Location /searxng>
    Require all granted
    Order deny,allow
    Deny from all
    # Allow from fd00::/8 192.168.0.0/16 fe80::/10 127.0.0.0/8 ::1
    Allow from all
    # add the trailing slash
    RedirectMatch  308 /searxng$ /searxng/
    ProxyPreserveHost On
    ProxyPass unix:/usr/local/searxng/run/socket|uwsgi://uwsgi-uds-searxng/
    # see flaskfix.py
    RequestHeader set X-Scheme %{REQUEST_SCHEME}s
    RequestHeader set X-Script-Name /searxng
    # see limiter.py
    RequestHeader set X-Real-IP %{REMOTE_ADDR}s
    RequestHeader append X-Forwarded-For %{REMOTE_ADDR}s
</Location>
# uWSGI serves the static files and in settings.yml we use::
#
#   ui:
#     static_use_hash: true
#
# Alias /searxng/static/ /usr/local/searxng/searxng-src/searx/static/
Any help here? Thank you very much
- I just read searxng with a Chi as X and it made sense … wow😅 
- From somebody who prefer to run stuff not in containers… Don’t bother and run SearXNG in container. I suggest rootless podman instead of docker. - See my notes/guide here https://wiki.gardiol.org/doku.php?id=services%3Asearxng - Thank you gonna check it 
 
- You are going to need to provide a significant more amount of information. Like guide are you using, which specific step isn’t working, what error messages are you getting. - edited the original post sorry 
 
- What do you want to do? Your explanation isn’t very clear on that… - Basically wants to setup SearXNG without using docker but wants to understand how apache serves it 
 
- You don’t need to use Apache if that’s confusing you. The project seems to include a full Caddyfile so that’s probably going to be easier for you. - Would like to understand it to customize it a bit and serve the service to a port instead of an URL for example - The service will always be on a port, that’s just how networking works. - Do you mean you want to get rid of the path and serve it on the root or a subdomain? So - https://searx.mydomain/instead of- https://mydomain/searx/
- You can do that with caddy as well. 
 
 
- @foremanguy92_ if it is just you using the service I would suggest skipping apache and using tailscale to access. Allows you to get to it as if you’re always on your network. - If you need it public my apologies I’m no help. - Would like to make it “pseudo-public” thank you anyway - Making it pseudo-public and not using docker would be a mistake, in my opinion. Anything public-ish can benefit from the extra security of docker’s sandboxing. - It will also make it much easier to run things through a VPN with Gluetun—something you definitely want to do if you have strangers using your SearXNG instance. - You should really consider a container of some kind. 
 
 





