Sign inSign up

x4121/taskd

By x4121

•Updated almost 7 years ago

Containerized Taskwarrior server

Image
2

500K+

x4121/taskd repository overview

⁠Docker-Taskd

Docker-Taskd⁠ is a containerized Taskwarrior⁠ server.

⁠Certificates

If there are no keys provided in ./taskd/pki, the server will generate self-signed certificates based on the details specified in the docker-compose.yml.

⁠Requirements

⁠Usage

⁠Starting server

For the initial start, make sure to provide certificates or check the certificate values in docker-compose.yml.

docker-compose up -d

Remember the container id (refered to as $container), it's printed as Creating $container.

⁠Starting without docker-compose

If you can't or don't want to use docker-compose, run

docker run -d --name taskd \
  -p 53589:53589 \
  -v $PWD/taskd:/var/taskd \
  -e CERT_CN="taskd" \
  -e CERT_ORGANIZATION="some org" \
  -e CERT_COUNTRY="DE" \
  -e CERT_STATE="Bavaria" \
  -e CERT_LOCALITY="Munich" \
  x4121/taskd:latest
⁠Stopping server

docker-compose stop

⁠Creating a user on server

To create a new user named $username (whitespaces allowed) as member of the group $group (no whitespaces allowed) and create a set of keys with file prefix $user (no whitespaces allowed):

⁠Open a shell on the server

docker exec -it $container sh

The container name $container is printed on startup.

⁠Create a new group (if not done)

If you want to use an existing group, skip this step. Don't use whitespaces in the group name $group.

taskd add org '$group'

⁠Add user to group

taskd add user '$group' '$username'

This will print New user key: $cred. Copy this value, it's used on the client.

⁠Create keys for the new user
cd pki
gosu taskd ./generate.client $user`

The generated files can be found in ./taskd/pki

⁠Configuration on client

Copy the files ca.cert.pem, $user.cert.pem and $user.key.pem to the client.

⁠Editing .taskrc

Add the following configs to your .taskrc:

task config taskd.certificate $pathTo/$user.cert.pem
task config taskd.key $pathTo/$user.key.pem
task config taskd.ca $pathTo/ca.cert.pem
task config taskd.server $host:53589
task config taskd.credentials $group/$username/$cred
⁠Initialize synchronization

task sync init

This is only necessary once. Following synchronizations will be done with task sync.

⁠Documentation

Taskwarrior docs⁠

Tag summary

Content type

Image

Digest

Size

6.8 MB

Last updated

almost 7 years ago

docker pull x4121/taskd