dockerfiles/taskd
Jason Huh 5d64aa9913 Add a missing dependency 2020-10-20 19:10:05 +09:00
..
Dockerfile Add a missing dependency 2020-10-20 19:10:05 +09:00
README.md switch to new domain: easypi.info 2016-05-01 09:06:20 +08:00
docker-compose.yml use relative local path for volumes 2015-09-02 11:52:53 +08:00
setup.sh update 2015-06-26 23:34:21 +08:00

taskd

Taskwarrior is Free and Open Source Software that manages your TODO list from your command line. It is flexible, fast, efficient, and unobtrusive. It does its job then gets out of your way.

directory tree

~/fig/taskd/
├── docker-compose.yml
├── setup.sh*
└── taskd/
    ├── ca.cert.pem
    ├── ca.key.pem
    ├── client.cert.pem
    ├── client.key.pem
    ├── config
    ├── orgs/
    │   └── datageek/
    │       ├── groups/
    │       └── users/
    │           └── cf31f287-ee9e-43a8-843e-e8bbd5de4294/
    │               └── config
    ├── pki/
    │   ├── generate*
    │   ├── generate.ca*
    │   ├── generate.client*
    │   ├── generate.crl*
    │   ├── generate.server*
    │   ├── README
    │   └── vars
    ├── server.cert.pem
    ├── server.crl.pem
    ├── server.key.pem
    └── users/
        ├── kev.cert.pem
        └── kev.key.pem

server setup

#!/bin/bash
#
# setup taskd server
#

mkdir -p ~/fig/taskd/taskd/{orgs,users}
cd ~/fig/taskd/taskd/

wget -O- http://taskwarrior.org/download/taskd-1.1.0.tar.gz |
    tar xvz --strip 1 taskd-1.1.0/pki

cd pki
vim vars
./generate
./generate.client kev
mv kev.* ../users
mv *.pem ..
cd ..

cat > config << _EOF_
confirmation=1
extensions=/usr/libexec/taskd
ip.log=on
log=/dev/stdout
pid.file=/run/taskd.pid
queue.size=10
request.limit=1048576
root=/var/taskd
server=0.0.0.0:53589
trust=strict
verbose=1
client.cert=/var/taskd/client.cert.pem
client.key=/var/taskd/client.key.pem
server.cert=/var/taskd/server.cert.pem
server.key=/var/taskd/server.key.pem
server.crl=/var/taskd/server.crl.pem
ca.cert=/var/taskd/ca.cert.pem
_EOF_

docker-compose.yml

taskd:
  image: vimagick/taskd
  ports:
    - "53589:53589"
  volumes:
    - taskd:/var/taskd
  restart: always

server

$ cd ~/fig/taskd/
$ ./setup.sh
$ docker-compose up -d
$ docker exec -it taskd_taskd_1 sh
>>> taskd add org datageek
    Created organization 'datageek'
>>> taskd add user datageek kev
    New user key: cf31f287-ee9e-43a8-843e-e8bbd5de4294
    Created user 'kev' for organization 'datageek'
>>> exit
$ tree -F

client

$ brew install task --with-gnutls
$ cd ~/.task
$ scp jp:fig/taskd/taskd/{ca.cert,users/kev.*}.pem .
$ task config taskd.certificate -- ~/.task/kev.cert.pem
$ task config taskd.key         -- ~/.task/kev.key.pem
$ task config taskd.ca          -- ~/.task/ca.cert.pem
$ task config taskd.server      -- easypi.info:53589
$ task config taskd.credentials -- datageek/kev/cf31f287-ee9e-43a8-843e-e8bbd5de4294
$ task config taskd.trust       -- ignore hostname
$ task sync init