Code Monkey home page Code Monkey logo

docker-taskd's Introduction

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

docker-taskd's People

Contributors

x4121 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.