Install TaskServer (taskd) on Debian 9

Using a Different System?

  • Install TaskServer (taskd) On CentOS 7

  • Install TaskServer (taskd) on Fedora 26

  • Install TaskServer (taskd) on FreeBSD 11

Are we missing a guide for your target system? Request one, or submit your own!


TaskWarrior is an open source time management tool that is an improvement on the Todo.txt application and it’s clones. Due to the fact that the average person uses multiple devices/platforms in their daily schedule, it is critical to have the ability to have a centralized repository where the data can be accessed and updated from any device. This tutorial will focus on setting up both the server, called TaskServer (taskd), and the client, called TaskWarrior (task), allowing multiple client devices to access and exchange data securely.

It possesses the following features:

  • Unlimited Tasks
  • Task Prioritizing
  • Search/Filtering
  • Tagging
  • Automatic Syncing
  • Automatic Backup
  • Full Control & Privacy
  • Encrypted Communication

Prerequisites

  • A Debian 9 x64 server instance.
  • A sudo user.
  • Domain name pointed to Vultr instance (taskd.example.com)

Step 1: Update the system

Log in as a regular user who has permission to use the sudo command. Update the system as follows:

sudo apt updatesudo apt upgrade -y

Step 2: Install TaskServer (taskd)

  1. Use Debian’s advanced package tool (apt) to install the TaskServer (taskd).

    sudo apt install taskd -y

Step 3: Configure TaskServer (taskd)

  1. In order for TaskServer (taskd) to communicate and sync with TaskWarrior (task) clients, you will need to use the generation scripts found under /usr/share/taskd/pki/ to generate server and client certificates/keys. Elevate to the root user using the command below and change directory to /usr/share/taskd/pki/.

    sudo su -cd /usr/share/taskd/pki/
  2. Use the nano program to create a vars file in order to generate a self-signed Root CA.

    nano vars

    Add the following text below into the vars file. Change ORGANIZATION, CN, COUNTRY, STATE and LOCALITY to your satisfaction.

    BITS=4096EXPIRATION_DAYS=365ORGANIZATION="Vultr.com Inc."CN=taskd.example.comCOUNTRY=USSTATE="New York"LOCALITY="New York"
  3. Generate the self-signed Root CA & cert, server key & cert and server revocation list (optional).

    ./generate.ca./generate.server./generate.crl

    These commands will create the following files (ca.cert.pem, ca.key.pem, server.cert.pem, server.key.pem and server.crl.pem) inside the /usr/share/taskd/pki/ directory. In order for TaskServer (taskd) to start, the ownership and permissions on the certificates and keys generated must be modified to allow TaskServer (taskd) to access them. Run the commands below to change them.

    chown Debian-taskd.Debian-taskd ca.cert.pem ca.key.pem server.cert.pem server.crl.pem server.key.pemchmod 400 ca.cert.pem ca.key.pem server.cert.pem server.crl.pem server.key.pem
  4. Configure the TaskServer (taskd) daemon configuration file. Type the following commands below.

    export TASKDDATA=/var/lib/taskdcd $TASKDDATAln -s /usr/share/taskd/pki/ca.cert.pem .ln -s /usr/share/taskd/pki/server.cert.pem .ln -s /usr/share/taskd/pki/server.crl.pem .ln -s /usr/share/taskd/pki/server.key.pem .taskd inittaskd config server 0.0.0.0:53589taskd config --force ca.cert $TASKDDATA/ca.cert.pemtaskd config --force server.cert $TASKDDATA/server.cert.pemtaskd config --force server.crl $TASKDDATA/server.crl.pemtaskd config --force server.key $TASKDDATA/server.key.pemtaskd config log /var/log/taskd/taskd.logtaskd config pid.file /var/run/taskd.pidmkdir /var/log/taskdchown Debian-taskd.Debian-taskd /var/log/taskd
  5. Edit the TaskServer (taskd) systemd file and replace the ExecStart=/usr/bin/taskd server --data /var/lib/taskd --log=- line with ExecStart=/usr/bin/taskd server --data /var/lib/taskd.

    nano /lib/systemd/system/taskd.service
  6. Enable and start the TaskServer (taskd) daemon.

    systemctl enable taskdsystemctl start taskd

    TaskServer (taskd) is now installed and setup on your Debian 9 instance.

Step 4: Configure TaskWarrior Client Certificate & Key

  1. Refer to the Step 5: Configure TaskWarrior Client Certificate & Key section in the Install TaskServer (taskd) On CentOS 7 tutorial being sure to substitute the /etc/pki/taskd/ directory with /usr/share/taskd/pki/ directory.

If you need additional reading material, refer to the TaskWarrior (task) documentation here for basic usage and other related topics.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article

No comments

Powered by Blogger.