From 5e9b82270de8a7d829a264236463e14b85c581c0 Mon Sep 17 00:00:00 2001 From: kev Date: Fri, 26 Jun 2015 21:49:21 +0800 Subject: [PATCH] add taskd --- taskd/Dockerfile | 51 +++++++++++++++++++++++++++++++++++ taskd/README.md | 58 ++++++++++++++++++++++++++++++++++++++++ taskd/docker-compose.yml | 7 +++++ 3 files changed, 116 insertions(+) create mode 100644 taskd/Dockerfile create mode 100644 taskd/README.md create mode 100644 taskd/docker-compose.yml diff --git a/taskd/Dockerfile b/taskd/Dockerfile new file mode 100644 index 0000000..ad2065e --- /dev/null +++ b/taskd/Dockerfile @@ -0,0 +1,51 @@ +# +# Dockerfile for taskd +# + +FROM alpine +MAINTAINER kev + +ENV TASKDDATA /var/taskd + +RUN apk add --update build-base \ + cmake \ + gnutls \ + gnutls-dev \ + libstdc++ \ + && wget -O- http://downloads.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz | tar xz \ + && cd libuuid-1.0.3 \ + && ./configure --prefix=/usr \ + && make install \ + && cd .. \ + && rm -rf libuuid-1.0.3 \ + && wget -O- http://taskwarrior.org/download/taskd-1.1.0.tar.gz | tar xz \ + && cd taskd-1.1.0 \ + && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_BUILD_TYPE=release . \ + && make install \ + && cd pki \ + && ./generate \ + && mkdir -p $TASKDDATA \ + && mv *.pem $TASKDDATA \ + && cd ../.. \ + && rm -rf taskd-1.1.0 \ + && apk del --purge build-base \ + cmake \ + gnutls-dev \ + && rm -rf /var/cache/apk/* + +RUN taskd init \ + && 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 \ + && taskd config --force log $TASKDDATA/taskd.log \ + && taskd config --force pid.file $TASKDDATA/taskd.pid \ + && taskd config --force server 0.0.0.0:53589 + +VOLUME $TASKDDATA +EXPOSE 53589 + +CMD taskd server + diff --git a/taskd/README.md b/taskd/README.md new file mode 100644 index 0000000..982f5fe --- /dev/null +++ b/taskd/README.md @@ -0,0 +1,58 @@ +`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 +└── taskd/ +    ├── ca.cert.pem +    ├── ca.key.pem +    ├── client.cert.pem +    ├── client.key.pem +    ├── config +    ├── orgs +    │   └── datageek +    │   ├── groups +    │   └── users +    │   └── 77b21131-e4b8-496a-a0e0-eafb75135221 +    │   └── config +    ├── server.cert.pem +    ├── server.crl.pem +    └── server.key.pem +``` + +## docker-compose.yml + +``` +taskd: + image: vimagick/taskd + ports: + - "53589:53589" + volumes: + - taskd:/var/taskd + restart: always +``` + +## server + +``` +$ cd ~/fig/taskd/ +$ docker-compose up -d +$ docker exec -it taskd_taskd_1 sh +>>> taskd add org datageek +>>> taskd add user datageek kev +>>> exit +$ tree +``` + +## client + +``` +$ brew install task --with-gnutls +$ cd ~/.task +$ scp server:fig/taskd/taskd/{ca-cert,client-cert,client-key}.pem . +$ task sync init +``` diff --git a/taskd/docker-compose.yml b/taskd/docker-compose.yml new file mode 100644 index 0000000..1dbb455 --- /dev/null +++ b/taskd/docker-compose.yml @@ -0,0 +1,7 @@ +taskd: + image: vimagick/taskd + ports: + - "53589:53589" + volumes: + - taskd:/var/taskd + restart: always