A working Taskserver?

Has anyone ever managed to get a working taskserver up? I’ve tried several times on multiple machines and I always get:

Taskserver is not configured

upon attempting my sync initiation. My config is just about as vanilla as I could manage, but I’ll share any details if anyone thinks it might be helpful.

I can just report, that I have a taskserver running for a few years now. So in principle it definitely works.

Just, to be sure. Are you following the instruction in the nixos manual?

2 Likes

Thanks. It’s helpful just to confirm that.

Well, I meant to. I don’t think I’m doing anything strange. As I said, it’s a pretty vanilla configuration.

The problem with The NixOS Way is that, while when it works it’s awesome, when it doesn’t it can be much harder to follow any upstream diagnostic procedures. I think that’s especially the case with services in general and taskserver in particular. I did the thing, it didn’t work.

Anyway, since I posted the above, upon looking more closely at the generated config, it looks like they may have added what look to me like extraneous slash escaping:

taskd.server=svr1
taskd.certificate=\/home\/steve\/.task\/keys\/public.cert
taskd.key=\/home\/steve\/.task\/keys\/private.key
taskd.ca=\/home\/steve\/.task\/keys\/ca.cert
taskd.credentials=<SOME_COMPANY>\/steve\/<SOME_UUID>

It might be as easy as removing the backslashes.

Also since that post, I discovered https://inthe.am/. I had no difficulty getting that working and I don’t see that kind of escaping in the config I use for that.

Also since that post, I tried the Android client and had a terrible experience with that and backed away from it. One problem I had was an extreme battery drain. Is that anything you tried?

Anyway, I’m finding inthe_am to work pretty nicely for me.

Did anyone recently managed to set up a working taskserver.

I’m hitting an error which I cannot understand. I’ve set the trust (from this file https://github.com/NixOS/nixpkgs/blob/ed332b0bc7440cc25de85a09fdb0491d3ad3343d/nixos/modules/services/misc/taskserver/default.nix) to allow all (a very bad thing to do) and I’ve tried task sync init from my client however I still hit this very error :

Handshake failed. The certificate is NOT trusted. The name in the certificate does not match the expected. 
Sync failed.  Could not connect to the Taskserver.

I’ve followed the instruction of the NixOS manual as well.

Removing or adding backslashes to the client config did not change anything to the error encountered.

Looking inside the logs of taskserver server side, I see this error : Error: Handshake failed. The TLS connection was non-properly terminated.

If anyone has a clue to what could be done to further investigate or in order to get a working taskserver I’m willing to give it a try.

I got it working by changing the configuration in my client, specifically adding :
trust=ignore hostname that was probably causing the error of the certificate not matching the expected name.

1 Like

Sorry for reviving this thread, but the problems still seems relevant and maybe this comment will help someone in the future. I just came across this issue as well and in my case I had to do the following things manually:

  1. Copy the public.cert certificate from the server to my client, as running sudo nixos-taskserver user export my-company alice | sh and executing that script left me with an empty file there
  2. Change taskd.server=example.com:53589 to taskd.server=taskserver.example.com:53589 in the .taskrc config file of the client.

It is now working and avoids having to modify trust. Ideally, the script in the first step could be generated without requiring sudo as well, but I think that issue was already raised elsewhere.

1 Like