Taskwarrior
Table of Contents
Taskwarrior has a taskd server and the client taskwarrior. There is an android client available.
taskd Server
Configuration here is partly based on /usr/share/doc/taskd/README.Debian
, and the online documentation at https://taskwarrior.org/docs/taskserver/setup.html.
I had some issue with the systemd service failing to start. I think this may have been due to some change in systemd and how it restricts file access for processes. In order to fix this I added WorkingDirectory​=/var/lib/taskd
to the Service section of
/etc/systemd/system/multi-user.target.wants/taskd.service
.
export TASKDDATA=/var/lib/taskd
taskd config --force server host.name:53589
cp -r /usr/share/taskd/pki /var/lib/taskd
cd /var/lib/taskd/pki vim vars
BITS=4096 EXPIRATION_DAYS=365 ORGANIZATION="organization name" CN=host.name COUNTRY=US STATE="..." LOCALITY="..."
./generate cd .. cp pki/*.pem ./ taskd config --force client.cert $TASKDDATA/client.cert.pem taskd config --force client.key $TASKDDATA/client.key.pem taskd config --force server.cert $TASKDDATA/server.cert.pem taskd config --force server.key $TASKDDATA/server.key.pem taskd config --force server.crl $TASKDDATA/server.crl.pem taskd config --force ca.cert $TASKDDATA/ca.cert.pem mkdir orgs chown Debian-taskd:Debian-taskd * systemctl restart taskd
Now we add an organization and a user. Switch to the taskd user first.
su -l Debian-taskd -s /bin/bash export TASKDDATA=/var/lib/taskd taskd add org my_org taskd add user 'my_org' 'username'
Make sure to save the user key for client configuration. Generate a key for the user:
cd pki ./generate.client username cp username.* ../
Taskwarrior client
Copy user.cert.pem
, user.key.pem
, and ca.cert.pem
to the client's ~/.task
folder.
task config taskd.certificate -- ~/.task/username.cert.pem task config taskd.key -- ~/.task/username.key.pem task config taskd.ca -- ~/.task/ca.cert.pem task config taskd.server -- host.name:53589 task config taskd.credentials -- my_org/username/<user key from adding user> task sync