DooTask 自托管部署:./cmd install 起服务,升级 502 与迁移备份
DooTask 是一套开源的在线项目任务管理工具,包含文档协作、在线思维导图、在线流程图、项目管理、任务分发、即时 IM、文件管理等功能,消息部分使用非对称加密。技术栈为 PHP + Vue,AGPL-3.0,默认分支 pro,当前版本 v1.7.23。
- GitHub:
- Gitee 镜像:
- 官网:
环境要求
- Docker v20.10+ 与 Docker Compose v2.0+,必须安装。
- 支持 CentOS / Debian / Ubuntu / macOS 等 Linux、Unix 系统。
- 硬件建议 2 核 4G 以上。
- 数据库为 MariaDB,对应默认 Docker Compose 里的
mariadb服务。 - Windows 环境先用 WSL2 装好 Linux 再部署。
Docker Compose 编排起来的服务包括 MariaDB、Redis、php-fpm、Nginx。
部署
一键脚本(推荐)
空目录执行会自动克隆并安装;在已安装目录执行则自动检查并升级:
curl -fsSL https://raw.githubusercontent.com/kuaifan/dootask/pro/bin/install | bash
手动部署
git clone --depth=1 https://github.com/kuaifan/dootask.git
# 或 git clone --depth=1 https://gitee.com/aipaw/dootask.git
cd dootask
./cmd install
./cmd install --port 80 # 自定义端口
常用命令
./cmd repassword # 重置默认管理员密码
./cmd port 80 # 更换 HTTP 端口(HTTPS 端口需另配 SSL)
./cmd down / ./cmd up
./cmd dev / ./cmd prod # 需 NodeJs 20+
./cmd update # 升级,升级前务必备份数据
./cmd mysql backup / recovery
./cmd uninstall
./cmd help
./cmd mysql 是 CLI 子命令,实际操作的是 MariaDB 容器。
运行命令还有一组快捷方式:./cmd artisan ""、./cmd php、./cmd nginx、./cmd redis、./cmd composer、./cmd supervisorctl、./cmd test、./cmd mysql。
SSL 与反向代理
./cmd https # 自动配置 SSL
如果用已有的 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;
然后执行 ./cmd https agent,取消用 ./cmd https close。
升级
在已安装目录执行一键脚本即可升级:
curl -fsSL https://raw.githubusercontent.com/kuaifan/dootask/pro/bin/install | bash
或本地执行 ./cmd update。升级前先备份数据。
升级后如果出现 502,运行下面这条把服务重启回来:
./cmd reup
迁移
- 旧项目执行备份,备份的是 MariaDB:
./cmd mysql backup
把旧项目的数据库备份文件、
docker/appstore、public/uploads拷贝到新项目的同路径下。public/uploads是上传的文件,docker/appstore是应用商店目录,两个都不能漏。在新项目还原:
./cmd mysql recovery
卸载与分支
./cmd uninstall
Pro 分支是默认分支,普通版可以这样克隆:
git clone -b v0.13.0 --depth=1