Python プログラミング

CUIでタスク管理できるPython製のDoDoをDockerでいい感じに扱う

タスク管理ツールに迷走中です。誰かいいものがあったら教えてください。。

個人で使うだけなので、とりあえずひたすらにシンプル且つ高速且つシンプルなものを求めてます。

 

色々探していたところ、Pythonで作られたCUIで動くTODOがあるってことで試しました。

ついでにDockerで起動するようにしたので試してみてください。

 

ちなみに名前は「DoDo」というらしい。

 

https://pypi.org/project/dodo/

 

Docker

まずはDockerfileを作ります。以下で作成しました。

 

Dockerfile

 

元のPythonイメージは「python:3.8.3-slim-buster」を指定していますが、

好みのものがあれば適宜変更してください。

 

IMAGE作成

普通にbuildしてイメージを作成します。

$ docker build . -t task-dodo

 

ここでは「task-dodo」という名前で作成しました。もちろん任意の名前でOK。

 

VOLUME作成

DODOでは、「dodo init」実行後に「DODOPIE」という管理ファイルが作成されます。

この情報をコンテナ終了後も引き継ぎたいので、VOLUMEを作成します。

 

$ docker volume create dodo-volume(任意のvolume名)

 

ちなみにコンテナ内のデータ永続化はこちらのQiitaを参考にしました。

 

 

使い方

あとはコンテナでDoDoのコマンドを実行してあげれば良いだけなので、

まずは個人で使うであろう最低限のDoDoのコマンドをまとめておきます。

 

  • 一覧表示

$ dodo list

 

  • 追加

$ dodo add

 

  • 作業開始

$ dodo workon [task_id]

 

  • 完了

$ dodo finish [task_id]

 

  • 削除

$ dodo remove [task_id]

 

Dockerで使う

コンテナで使うには単純に上記コマンドを引数で渡せばOKです。

1点ポイントとしては、先ほど作ったVOLUMEを作業用ディレクトリにマウントすることです。

 

以下は「hoge」というタスクを追加する時の例です。

 

$ docker run --rm -v dodo-volume:/work task-dodo dodo add hoge

 

 

おまけ

毎回dockerのコマンド打つのはだるすぎるので、aliasに登録しています。

xonshを使っている方は以下で「task」コマンドとして実行できるので一応書いときます。

 

alias(xonshの場合)

-Python, プログラミング
-,

© 2020 クラインの備忘壺