DooTask
DooTask是一款轻量级的开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具。
-
「高效便捷的团队沟通工具」
针对项目和任务建立群组,工作问题可及时沟通,促进团队快速协作,提高团队工作效率。 -
「强大易用的协同创作云文档」
汇集文档、电子表格、思维笔记等多种在线工具,汇聚企业知识资源于一处,支持多人实时协同编辑,让团队协作更便捷。 -
「便捷易用的项目管理模板」
模版满足多种团队协作场景,同时支持自定义模版,满足团队个性化场景管理需求,可直观的查看项目的进展情况,团队协作更方便。 -
「清晰直观的任务日历」
通过灵活的任务日历,轻松安排每一天的日程,把任务拆解到每天,让工作目标更清晰,时间分配更合理。 -
「支持多平台应用」
多平台应用支持,打开客户端即可跟进项目任务进度, 同时让你在工作中每一个步骤都能拥有更高效愉悦的体验。 以上便是dootask的介绍,是不是很强。不过这么强大的项目部署NAS也是十分麻烦,目前网上现有的教程都太模糊了,并不是很好理解。这边我就写写自己部署的过程,尽量精细化到每一步。
(官网地址:https://www.dootask.com)
(源码地址:https://gitee.com/aipaw/dootask)
一、首先安装群晖自带Docker
套件,然后开启群晖自带SSH
登录。
二、用 SSH 软件登录群晖,运行sudo -i
命令开启 root 权限,
根据 dootask 部署要求,先检查 Docker 和 docker-compose 版本。
命令:
docker --version
docker-compose --version
三、下载 dootask.zip
克隆方式:
# 通过 github 克隆项目
git clone https://github.com/kuaifan/dootask.git
# 或者你也可以使用 gitee
git clone https://gitee.com/aipaw/dootask.git
手动方式:
直接下载 dootask.zip,上传并解压至群晖的filestation
中,路径如:/volume1/docker/dootask/
四、创建目录和设置权限
* 手动创建/volume1/docker/dootask/docker/log/supervisor
文件夹
* 手动修改 dootask/docker/mysql/conf.d/docker.cnf 权限,命令:chmod 644 docker.cnf
五、使用./cmd install
命令一键构建项目。
部署中途可能会提示没有找到***容器,只需重复运行./cmd install
命令即可。
如果遇到 supervisor 不存在、703 等错误,需执行 ./cmd uninstall
命令卸载项目和容器,然后进入群晖 Docker 套件,把相关镜像都删了,再重复步骤 4~5。
六、DooTask 项目部署成功后会提示 IP、端口、登录账号及密码。
部署成功后会如上图提示,然后 ip+2222 端口即可访问项目。
安装部署遇到的问题
一、无法运行 PHP 服务,因为 supervisor 文件夹不存在。Cannot start service php: Bind mount failed: '/volume1/docker/dootask/docker/log/supervisor
' does not exists
二、手动建立 supervisor 文件夹后,依然 703 报错,最终提示错误:账号不存在!。
PS:如果遇到上述问题,需要./cmd uninstall 卸载项目,并删除相关 docker 镜像,按以下方法部署。
三、提示 docker-compose.yml 错误,是 docker 与 docker-compose 版本问题导致。
PS:DSM6 的 docker-compose 版本可能有些低,需自行升级安装最新版的插件,热心网友测试 1.27.4 以上版本可以使用。
四、提示出现 Permission denied 之类的错误和权限相关,请自行排查!
项目模板修改
自行修改文件:dootask-0.5.17\public\js\build\970.js
群晖程序升级
1、备份老程序、数据库
2、https://github.com/kuaifan/dootask 下载新版本并覆盖老版本程序。
3、执行 ./cmd update
其他操作
重置密码
# 重置默认管理员密码
./cmd repassword
更换端口
./cmd port 2222
停止服务
./cmd stop
# 一旦应用程序被设置,无论何时你想要启动服务器(如果它被停止)运行以下命令
./cmd start
开发编译
# 开发模式,仅限macOS
./cmd dev
# 编译项目,仅限macOS
./cmd prod
运行命令的快捷方式
# 你可以使用以下命令来执行
./cmd artisan "your command" # 运行 artisan 命令
./cmd php "your command" # 运行 php 命令
./cmd nginx "your command" # 运行 nginx 命令
./cmd redis "your command" # 运行 redis 命令
./cmd composer "your command" # 运行 composer 命令
./cmd supervisorctl "your command" # 运行 supervisorctl 命令
./cmd test "your command" # 运行 phpunit 命令
./cmd mysql "your command" # 运行 mysql 命令 (backup: 备份数据库,recovery: 还原数据库)
NGINX 代理 SSL
# 1、Nginx 代理配置添加
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 2、在项目下运行命令
./cmd https
升级更新
注意:在升级之前请备份好你的数据!
# 方法1:在项目下运行命令
./cmd update
# (或者)方法2:如果方法1失败请使用此方法
git pull
./cmd mysql backup
./cmd uninstall
./cmd install
./cmd mysql recovery
如果升级后出现502请运行 ./cmd restart
重启服务即可。
迁移项目
在新项目安装好之后按照以下步骤完成项目迁移:
1、备份原数据库
# 在旧的项目下运行命令
./cmd mysql backup
2、将数据库备份文件
及public/uploads
目录拷贝至新项目
3、还原数据库至新项目
# 在新的项目下运行命令
./cmd mysql recovery
卸载项目
# 在项目下运行命令
./cmd uninstall