Whoogle-git self-hosted unable to reach localhost:5000

Hello there,

I love so much Garuda’s implementation of Whoogle (CSS and stuff, huge tnx to Dr460nfir3 who I believed did this?) that I decided to self-host it on my local machines (and my VMs). No Docker or anything, it’s pure local.

I am facing a connectivity issue on localhost:5000 as Firedragon cannot reach that URL.
Now I did search for the following:

https://forum.garudalinux.org/search?q=whoogle
https://forum.garudalinux.org/t/whoogle-throwing-up-googles-warning-page-in-results/13409/10
https://forum.garudalinux.org/t/whoogle-stopped-running-libffi-so-7/13573/3
https://www.youtube.com/watch?v=wHZGdAGZMt0
https://www.youtube.com/watch?v=j3ZGxo3ibUs
https://duckduckgo.com/?q=how+to+install+and+configure+whoogle+on+local+machine&ia=web (yes this is not Whoogle, cuz I was on my work machine when I searched loll)
https://duckduckgo.com/?q=how+to+install+and+configure+whoogle&ia=web
https://www.synoforum.com/threads/whoogle-the-self-hosted-google-alternative.2867/
https://forum.garudalinux.org/t/linux-tech-news/1274/566?page=28
https://aur.archlinux.org/packages/whoogle-git
https://aur.archlinux.org/packages/whoogle
https://github.com/benbusby/whoogle-search#install
https://github.com/benbusby/whoogle-search#environment-variables

I couldn’t find anything related to “cannot reach localhost”. That tells me I’ve either done something stupid so it broke immediately after installation (how bad could I be), or I have not done what’s required to do post-installation and couldn’t find or understand what to do exactly to make it work.

This is the entire installation flow I followed:

frank@frank in ~ took 3s
[隣] × paru -S chaotic-aur/whoogle-git
[sudo] password for frank:
resolving dependencies...
looking for conflicting packages...

Packages (1) whoogle-git-0.7.1_r536.g2a0ad87-1

Total Download Size:   10.91 MiB
Total Installed Size:  35.67 MiB

:: Proceed with installation? [Y/n]
:: Retrieving packages...
whoogle-git-0.7.1_r536.g2a0ad87-...    10.9 MiB  15.8 MiB/s 00:01 [------------------------------------] 100%
(1/1) checking keys in keyring                                     [------------------------------------] 100%
(1/1) checking package integrity                                   [------------------------------------] 100%
(1/1) loading package files                                        [------------------------------------] 100%
(1/1) checking for file conflicts                                  [------------------------------------] 100%
(1/1) checking available disk space                                [------------------------------------] 100%
:: Running pre-transaction hooks...
(1/1) Performing snapper pre snapshots for the following configurations...
==> root: 1
:: Processing package changes...
(1/1) installing whoogle-git                                       [------------------------------------] 100%
chown: invalid user: ‘whoogle.whoogle’

Enable the SystemD unit and visit localhost:5000 to start searching!

:: Running post-transaction hooks...
(1/8) Creating system user accounts...
Creating group 'whoogle' with GID 963.
Creating user 'whoogle' (Whoogle) with UID 963 and GID 963.
(2/8) Reloading system manager configuration...
(3/8) Arming ConditionNeedsUpdate...
(4/8) Foreign/AUR package notification
=> No foreign/AUR packages found.
(5/8) Orphaned package notification...
elfutils 0.186-5
libcroco 0.6.13-2
libmms 0.6.4-3
libofa 0.9.3-9
(6/8) Checking for .pacnew and .pacsave files...
.pac* files found:
/etc/locale.gen.pacnew
/etc/pacman.d/mirrorlist.pacnew
Please check and merge
(7/8) Performing snapper post snapshots for the following configurations...
==> root: 2
(8/8) Syncing all file systems...

frank@frank in ~ took 5ms
[] × systemctl daemon-reload

frank@frank in ~ took 3s
λ systemctl enable whoogle
Created symlink /etc/systemd/system/multi-user.target.wants/whoogle.service → /usr/lib/systemd/system/whoogle.service.

frank@frank in ~ took 3s
λ systemctl start whoogle

frank@frank in ~ took 2s
λ systemctl status whoogle
● whoogle.service - Whoogle
Loaded: loaded (/usr/lib/systemd/system/whoogle.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2022-03-03 10:13:08 EST; 324ms ago
Main PID: 9138 (python)
Tasks: 1 (limit: 18427)
Memory: 26.5M
CPU: 320ms
CGroup: /system.slice/whoogle.service
└─9138 /opt/whoogle-search/venv/bin/python -um app --host 127.0.0.1 --port 5000

Mar 03 10:13:08 frank-rzbox systemd[1]: Started Whoogle

I tried whoogle-bin but this one doesn’t apply the host and port properly and needed to edit whoogle.service, so I tried the -git version and this one is fine as you can see above, althought there is something weird with user whoogle.whoogle.

Then I went in Firedragon, the best browser, and tried connecting to http://localhost:5000 (also tried http://127.0.0.1:5000) and I get:

Unable to connect

Firefox can’t establish a connection to the server at localhost:5000.

    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer’s network connection.
    If your computer or network is protected by a firewall or proxy, make sure that FireDragon is permitted to access the Web.

I could post inxi but I’d have to do it for 2 physical machines + 1 VM as I have the same issue on all 3. My 2 physical machines are completely different in terms of hardware and the one I have posted the above installation flow has a super fresh Garuda install from yesterday, upd’ed and unaltered. Lemme know if required.

My question is: what have I forgotten to do to make it reach localhost:5000?
I’d really like to understand how to master this.

Thanks!

1 Like

Yeah I did port 5000.
It seems the service is already configured out of the box that way as systemctl reports it on port 5000. Or maybe I misundertands this

CGroup: /system.slice/whoogle.service
└─9138 /opt/whoogle-search/venv/bin/python -um app --host 127.0.0.1 --port 5000

There is also a whoogle.template.env file provided by the package and must be renamed to whoogle.env if used. I did try that and set port 5000 in there, there is a line already for this. But I have no idea if whoogl.env was actually working. :frowning:

EDIT: Sorry @khaneliman I saw the deletion after I posted this. lolll

Just an idea, did you try also with https://
IIRC FireDragon, block http (and home network IP's)
image
.

Edit:

I don't have that icon, I only have the Site Information icon showing there and there's nothing I think I can do with this one. I'll see if I can find something in the Settings page.
I could post a picture but I can't find the right way of posting pix (I know there's a wrong way) so that it doesn't bloat Garuda's server.

Np haha.. I didn't read your pasted installation output when I asked and then noticed it said most of what I would want to see for a service hosting and you trying to access it. Looks like SGS has a better input if FireDragon does block non secure connections.

1 Like

I’m jealous!! :slight_smile:

1 Like

I am so sorry, I use just Librewolf on my i3wm, sorrrrry :slight_smile:

I also see in the output that the installation tries to chown before the accounts are created, do you need to chown again? I ran the installation and I got the same error messages on output and I also can't access it from localhost:5000 or https://localhost:5000

Well that’s one I have no idea, maybe it is related to the issue. I did not chown anything post-installation, I just let the package do its magic.

I’m not sure anyway what I should try “chowning” (I made up that word just now).

One more test: I went in Firedragon’s settings page and disabled HTTPS-Only Mode. No change on result.

Looks like it's installed files to

  • /opt/whoogle-search/
  • /etc/default/whoogle
  • /usr/lib/systemd/system/whoogle.service

sudo chown whoogle:whoogle /opt/whoogle-search/ -R
sudo systemctl restart whoogle.service
i now get a timeout instead of a quick error.

EDIT: Service is served on http, https access results in timeout because of no redirection. So chown after install will fix issue.

5 Likes

Chowning failed here due to the user not existing yet, I’d try to chown /opt/whoogle to the whoogle user manually, then systemctl restart whoogle.

@khaneliman what does systemctl status whoogle tell now?

2 Likes

● whoogle.service - Whoogle
Loaded: loaded (/usr/lib/systemd/system/whoogle.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2022-03-03 10:59:28 CST; 1min 10s ago
Main PID: 228655 (python)
Tasks: 5 (limit: 76974)
Memory: 41.0M
CGroup: /system.slice/whoogle.service
└─228655 /opt/whoogle-search/venv/bin/python -um app --host 127.0.0.1 --port 5000

Mar 03 10:59:28 Austin-Garuda-Dragon systemd[1]: Started Whoogle.
Mar 03 10:59:28 Austin-Garuda-Dragon whoogle[228655]: Serving on http://localhost:5000

1 Like

It works!!!
So yes only the chown provided above does the trick.
Wow it is a lot faster! :smiley: Oh I love it!

Still, the whoogle user cannot exist if it's the first time you install the package, I wonder if this error should be handled differently?

2 Likes

lol i was accessing https:// but it's only serving on http:// so the chown fix does work. I'm not familiar with deploying packages and the pre/post installation hooks. Is it possible to set up a pre-installation hook for whoogle-git to set up the user first?

2 Likes

The user creation happens via a config file and I believe it's Arch hook creating it ultimately. It might be possible to put the hook for chowning at the end of the post-transaction hooks, since the user creation happens first. Or we just put the actual GID/UID for chowning instead of the username :thinking:

3 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.