Alright, PR created. Also saw a few more issues I will want to tackle, just so the next person trying to set a public port separate from the listening port has an easier time of it than I had.

And then it's off to actually using the instance for search.

Lot's of Yaks have been shaved, and some are still unfashionably wooly...

#HomeLab #YaCy

And success! Last hurdle was a very old bug in my bastion reverse proxy's config. I had it set to redirect HTTP to the external HTTPS endpoint. But that port was merely what the bastion host itself listened on. It was the port which public 443 gets NAT'ed to. But it isn't itself reachable externally. But the redirect directed external clients to this purely internal port, which of course doesn't work.

But now I've got a YaCy peer in "Sernior" peering status. ๐ŸŽ‰

#HomeLab #YaCy

Alright, first step successful, I've adapted YaCy in such a way that external peers now try to access my instance via a newly introduced port.public setting. I see their attempts on my firewall, at least. Now to deploy that version into the Homelab and see what happens with a "real" instance.

#HomeLab #YaCy

Current status of my Java programming skills: Just got yelled at by the compiler for using "bool" instead of boolean. ๐Ÿ˜…

#Java #YaCy

Alright, issue created: https://github.com/yacy/yacy_search_server/issues/791

Now to dig out my extremely rusty Java knowledge from my University days to see whether I can also fix the issue.

#HomeLab #YaCy

No way to set public port differing from listening port ยท Issue #791 ยท yacy/yacy_search_server

Hello YaCy team, I've recently tried to deploy YaCy in my Kubernetes cluster. I wanted to make it accessible from the outside via my Traefik reverse proxy, which already serves a number of other se...

GitHub
Attempted to install #YaCy search today. The idea of a decentralized/federated search sounds great but it is nowhere near ready for prime time. I'm fairly tech savvy and was not able to get it installed and running and usable on Windows 11. Sticking with DuckDuckGo for now as my main search engine.

Ah well, at least I finally figured out that it wasn't me just misreading the docs somehow and being too stupid to set the configs correctly.

Looks like I will have to write up a GitHub issue tomorrow. Because despite everything, I kinda still want to give it a try.

#HomeLab #YaCy

Dug into the codebase, found that I was right. The public port communicated to peers is always the local port YaCy listens on.

The publicPort setting I looked at first is set in the code, but it is not actually read anywhere.

And the bindPort variable just doesn't show up in the code anywhere, just in the default config file.

So for peering I've got the choice of opening 8090 to make the default conf work, or giving the container caps so YaCy can bind to 443. ๐Ÿ™„

#HomeLab #YaCy

Okay, whatever I do, external peers always to access my server via port 8090. But several pieces of the YaCy docs claim that one can set a different port for external access than the one YaCy actually listens on.

But none of them work. So throw it all away and give up, or start digging into a Java codebase?

I will, of course, dig into the codebase. Because I like pain like that. ๐Ÿ˜’

#HomeLab #YaCy

Okay, lit up another 1h "Best of Two Steps From Hell" YouTube video and now back to battling YaCy. Goal for tonight is to fix the configuration confusion. There are kinds of variables in the config file. "category.category2.value" and "valueName". For the former, the env variables work as expected. For the latter, they don't.

Second part: Configuring the public port forwarded to peers in the P2P protocol. The documented way to set it does not work.

#HomeLab #Yacy