轻量级项目任务管理工具DooTask
昨天自己去做了 1 次核酸,这周还有 2 次

本文其实去年就想写了,但真正动手是今年
3月份,老苏在CentOS 7上安装非常顺利,但是在群晖上却遇到了一些问题,所以就搁置了。之后好几位网友跟老苏提到DooTask,原本是想基于官方的cmd脚本改一个适合在群晖上运行的版本,奈何水平太菜,所以直到今天也只能通过一次一次输入命令行来完成安装。 😂
前言
什么是 DooTask ?
DooTask是一款轻量级的开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具。
官方提供了在线 demo:https://www.dootask.com
可以先去体验,如果合适再考虑是否需要自己搭建。
准备
如果你不是在群晖上安装,建议使用官方的教程和脚本,简单高效,不容易出错。
老苏是在 DS3617xs 上安装的,其中
docker的版本是20.10.3, build b35e731docker-compose的版本是1.28.5, build 1bbbad71
之所以要写版本是因为按照官方的教程,在使用 ./cmd install 一键安装时,会显示 docker-compose 版本过低

按照官方的要求,Docker Compose 需要 v2.0+

如果只是屏蔽版本检测又会出现其他一堆的错误,所以老苏有两个选择:
- 升级
docker-compose,但老苏查了一下,似乎并没有满足要求的版本; - 尝试改用
docker-compose up -d来一键启动,需要很多命令行操作,但似乎这是目前唯一的选择;
事实证明,并不需要
Docker Compose v2.0+也是可以安装成功的
在你开始之前,老苏有必要提醒大家,后面均为命令行操作,如果遇到问题,没有点基础排查起来可能会比较困难,老苏本人也是一样,所以如果不是特别需要,不建议在群晖上安装。
安装 Git
套件中心→设置–>套件来源–>新增

- 名称:随意;
- 位置:
http://packages.synocommunity.com/
套件中心–>社群,找到并安装套件Git

下载代码
用 SSH 客户端连到群晖,依次执行下面的命令
1 | # 进入 docker 目录 |
设置 .env
1 | # 创建 .env 文件 |
从 .env.docker 复制出 .env,并按下面老苏给的示例进行修改,需要修改的参数不多,其中:
APP_URL:为主机IP,也就是群晖主机的IP,如果反代,这里也不用修改;APP_PORT:是应用访问的端口,默认为2222,不冲突的话就保持默认好了;DB_PASSWORD:数据库的密码;COMPOSE_HTTP_TIMEOUT:这一行是老苏新增的,主要解决执行docker-compose up -d可能存在的超时问题;
下图就是曾经出现过的超时错误

1 | APP_NAME=DooTask |
修改 docker-compose.yml
原本老苏并不打算修改 docker-compose.yml,但发现不修改的话,在导入数据库表操作时会报错👇

因此还是需要修改 docker-compose.yml 中的 mariadb 部分,考虑到篇幅,老苏只贴了相关的部分:
- 老苏注释了端口,这主要是从安全性考虑,毕竟咱也不是做开发,当然不注释也没问题;
- 在环境变量中新增
MYSQL_ROOT_HOST: "0.0.0.0",解决不能远程访问,导致导入表出错的问题;
1 | mariadb: |

启动
准备工作完成后,就可以开始启动了
1 | # 创建数据库目录 |
先不要着急访问,因为现在访问肯定是返回错误页面的

还需要我们做最后的一些配置工作
配置
先检测所有的容器是否都已经正常启动

下图中数据库就有存在问题,正在不断重启,至于原因老苏也不知道

如果一切正常的话,就可以进行下面的操作了
1 | # 进入 PHP 容器 |
看到 Database seeding completed successfully. ,说明数据库导入成功了

运行
在浏览器中输入 http://群晖IP:2222 就能看到登录界面

第一次需要先注册账号

如果出现 System error 提示,很可能是数据库有问题

注册成功

自动跳转到主界面

接下来你就可以新建项目、添加人员,分发任务等等。
反向代理
DooTask 支持反代,但是不支持在非标端口运行,因为在 https://dt.laosu.ml:444/manage/dashboard 中你会发现,javascript 被截掉了端口
1 | <script src="//dt.laosu.ml/js/language.all.js"></script> |
老苏不是程序员,所以只能用 Cloudflared 来映射到公网。
结语
这个项目在其他 linux 平台上安装,最大的难度可能是安装支撑环境,比如 php、docker等,但是项目本身的安装很简单,官方提供了脚本,可以完成安装、删除、备份、改端口、重置密码、升级等操作。
而在群晖上,不需要考虑环境,但是没有了脚本的支持,安装起来比较麻烦,不细心的话比较容易出错,各种操作只能自己手动完成了。
等有空了再看看他们家的 WookTeam,一款轻量级的在线团队协作工具,安装似乎更简单一些。
参考文档
kuaifan/dootask: DooTask是一款轻量级的开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具。
地址:https://github.com/kuaifan/dootaskDooTask
地址:https://www.dootask.com/How to Update Docker Compose on a Synology NAS - WunderTech
地址:https://www.wundertech.net/how-to-update-docker-compose-on-a-synology-nas/基于 Swoole 实现高性能 HTTP 服务器 | 快速入门 | Swoole 从入门到实战教程
地址:https://laravelacademy.org/post/9801?page=2Packagist / Composer 中国全量镜像
地址:https://pkg.xyz/Host ‘172.18.0.1’ is not allowed to connect to this MySQL server · Issue #275 · docker-library/mysql
地址:https://github.com/docker-library/mysql/issues/275#issuecomment-812897091