I've been trying to make a
taskd server work on my computer (Arch Linux) for days. The problem I'm facing now is that
taskd's config documentation (https://taskwarrior.org/docs/taskserver/troubleshooting-sync.html) says that I have to use the output of
hostname -f as an address (I do not know what 'CN' abbreviates). I've also tried with my local IP address starting with
192.168 but that gave me the handshake error you can find in the troubleshooting guide I linked.
I started investigating a little, because I couldn't access my taskserver from other machines. I found this:
When I listen to the port I use, let it be
nc -l -p 54000, I can see this as the output of
ss -lntu | grep 54000:
tcp LISTEN 0 10 0.0.0.0:54000 0.0.0.0:*
Whereas when I start
taskd, which listens on the same port,
ss gives me:
tcp LISTEN 0 4 127.0.0.1:54000 0.0.0.0:*
Now from a different machine, I tried checking the port while listening with
nc -vv 192.168.x.y 54000 (with the server's IP address) and I found that when the local address is
0.0.0.0, the port shows as open. Otherwise it shows up as closed. I think this is because
127.0.0.1 is essentially
localhost and I can't see that from my network?
taskd also has a config file with a server option where I entered the output of
hostname -f, which is
watermelon.localdomain, as I was instructed by the documentation. I suppose that's what's translated to
I would greatly appreciate your help, thanks in advance!
I managed to solve the problem by setting the
server variable in the config to
0.0.0.0:54000, this way I got
taskd to listen for any address on port
54000. Now everything works beautifully. The documentation of
taskd was a bit vague on the topic I guess.