本文最后更新于 2025-08-02,文章内容可能已经过时。

兄弟们,最近在鼓捣我的群晖NAS时,发现了一款国产开源神器——Dootask任务管理系统,简直像给杂乱的工作流开了光!

之前团队协作是不是也这样?任务进度像雾里看花,文档散落各处,沟通全靠“意念回复”... 受够了!Dootask就像个百宝箱,把项目管理、任务追踪、在线文档、思维导图、IM沟通甚至文件管理全塞进一个清爽的界面里。关键是,它开源免费、轻量级,还能私有化部署在咱自己的NAS上,数据安全完全自己掌控,对中小团队或个人创业者(一人公司也能玩转!)太友好了。

最让我心动的是,它在群晖上部署起来真的很简单(几分钟的事儿!),界面直观,上手零门槛。国产开源能做到功能这么全、体验这么顺滑,必须安利!如果你也在找能拯救团队协作效率、适合NAS安装的开源任务管理工具,这篇详细的Dootask安装使用教程,绝对值得你往下看!告别混乱,高效协作,从NAS里的Dootask开始吧!

一、什么是 DooTask?

DooTask 是一款 轻量级且功能全面的开源在线项目与任务管理工具,基于 PHP + Vue.js 开发,支持私有部署,适合企业、团队及个人使用。其核心特性包括:

  • 项目管理:支持创建项目、设置里程碑、分配任务、统计进度;

  • 任务分发与看板视图:多视图支持(看板、列表、日历),支持子任务、截止时间、优先级、标签;

  • 文档协作:支持在线编辑文本、表格、幻灯片,支持多人实时协作及导出 PDF 等格式;

  • 在线思维导图与流程图工具:可用于规划、需求梳理与流程设计;

  • 即时 IM 通信:内置群聊/私聊功能,消息使用端到端加密技术保障隐私安全;

  • 文件管理:支持多种格式上传、权限设置与共享,功能覆盖任务附件、文档资料等。

  • 演示站点,点击查看:DooTask - 最受欢迎的开源项目协助工具

  • wechat_2025-08-02_152428_235.webp


二、为什么选择 DooTask?

  • 界面简洁直观,容易上手:无需冗长培训,新用户能迅速熟悉基本操作。部署后即可高效协作。

  • 智能提醒与任务追踪:支持任务到期提醒、审批提示、消息通知等功能,避免漏项、延误,提高执行效率。

  • 私有化部署,数据自主可控:系统可部署在自己的服务器,避免云平台的数据隐私风险,满足合规与安全需求。

  • 功能模块丰富,适配多场景使用:从文档协作、流程图到任务审批、OKR 管理、团队报告等一应俱全。

  • 多平台客户端支持:支持 Windows、macOS、Android、iOS 应用,随时同步任务进度,提升移动工作体验。


三、系统部署要求

以下是官方推荐的部署环境配置:

项目

要求说明

Docker版本

Docker v20.10 及以上

Compose版本

Docker Compose v2.0 及以上

支持系统

CentOS / Debian / Ubuntu / macOS / Windows

硬件建议

2 核 CPU + 4GB 内存以上

Windows 用户

推荐使用 Git Bash 或 Cmder 终端执行命令


四、主要功能亮点

  • 任务模板与流程审批支持:支持创建任务模板、多流程审批中心、自定义审批流程。

  • OKR 项目管理:提供 OKR 模块,支持目标设定与结果分析。

  • 团队管理与权限控制:支持项目权限、团队角色管理、归档项目功能。

  • 报表与导出:支持导出数据报表、审批中心导出、考勤导出等管理需求。

  • AI Bot 智能助手(新版支持):可根据项目需求生成任务建议、协助任务描述、优化进度规划(见 App Store 新版本更新内容)。


五、开源协议与社区支持

  • AGPL‑3.0 开源协议:允许用户自由部署与使用,同时保持开源精神。

  • 活跃维护与版本更新:截至 0.12.95 版本(2022 年发布)及后续优化版,持续修复 bug、提升性能。

  • 技术支持渠道丰富:提供官方 QQ 技术交流群、GitHub / Gitee issue 提交反馈渠道,支持及时解答用户问题。


六、总结推荐

作为一款集项目管理、任务协作、文档编辑、沟通交流于一体的开源平台,DooTask 凭借其简洁界面、丰富功能与安全性极高的信息管理机制,成为团队协作的优秀工具选择。适用于教育、设计、研发、小型企业、创业团队等多种场景。

部署教程

一、环境准备

本教程以 飞牛NAS 系统为例进行演示。
其他系统请确保已安装最新版的 DockerDocker Compose

二、开启 SSH 并连接终端

  1. 打开飞牛 NAS 的 SSH 功能。
    fnOS open SSH.png

  2. 使用终端软件连接 SSH

  3. 成功连接后,切换为 root 用户权限。

    sudo -i 

三、新建 Docker 项目文件夹

  1. 打开飞牛NAS的 文件管理器

  2. 新建一个用于存放容器项目的 docker 文件夹(演示将此docker文件夹专门用来存储部署的各种项目)。

  3. 右键该文件夹 → 详细信息常规复制原始路径

✅ 示例路径:/vol1/1002/docker


四、进入项目文件夹

# 将 /vol1/1002/docker 换成你实际的文件夹路径

/vol1/1002/docker

请将路径替换为你自己实际复制的路径。


五、克隆 DooTask 项目

你可以选择 GitHub 或 Gitee 地址:

# 通过github克隆项目
git clone --depth=1 https://github.com/kuaifan/dootask.git

# 或者你也可以使用gitee(推荐,国内速度更快)
git clone --depth=1 https://gitee.com/aipaw/dootask.git

六、进入项目目录并查看路径

  1. 进入项目目录

    cd dootask
  2. 查看当前项目文件夹路径

    pwd

七、设置文件夹权限(群晖或部分 NAS 需执行)

  • 授权该项目文件夹内的读写权限(部分NAS系统需要【如群晖】,否则容器无读写权限访问运行,按需执行。)

    # 将 /vol1/1002/docker/dootask/ 换成你自己实际的文件夹路径
    
    chmod -R 777 /vol1/1002/docker/dootask/

请根据你的路径自行替换。


八、编辑 .env.docker 配置文件

  1. 编辑.env.docker文件

    vi .env.docker
  2. 按字母i键进入编辑模式,修改下面的配置文件,按Esc键退出编辑模式,输入:wq保存并退出。

    (排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)

    TIMEZONE=PRC
    
    APP_NAME=Laravel
    APP_ENV=local
    APP_KEY=
    APP_DEBUG=true
    APP_SCHEME=auto
    APP_URL=http://localhost
    
    APP_PORT=2222
    
    LOG_CHANNEL=stack
    LOG_LEVEL=debug
    
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=laravel
    DB_USERNAME=root
    DB_PASSWORD=123456    # 这是数据库密码,可以自行更改。
    
    BROADCAST_DRIVER=log
    CACHE_DRIVER=file
    QUEUE_CONNECTION=sync
    SESSION_DRIVER=file
    SESSION_LIFETIME=120
    
    MEMCACHED_HOST=127.0.0.1
    
    REDIS_HOST=127.0.0.1
    REDIS_PASSWORD=null
    REDIS_PORT=6379
    
    MAIL_MAILER=smtp
    MAIL_HOST=mailhog
    MAIL_PORT=1025
    MAIL_USERNAME=null
    MAIL_PASSWORD=null
    MAIL_ENCRYPTION=null
    MAIL_FROM_ADDRESS=null
    MAIL_FROM_NAME="${APP_NAME}"
    
    AWS_ACCESS_KEY_ID=
    AWS_SECRET_ACCESS_KEY=
    AWS_DEFAULT_REGION=us-east-1
    AWS_BUCKET=
    
    PUSHER_APP_ID=
    PUSHER_APP_KEY=
    PUSHER_APP_SECRET=
    PUSHER_APP_CLUSTER=mt1
    
    MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
    MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

九、执行一键安装命令

# 使用默认端口2222
./cmd install

# 自定义端口安装,如:./cmd install --port 6688
./cmd install --port 6688

十、等待初始化完成

此过程大约 10 分钟,请保持网络通畅(需保持网络质量,网不好就挂梯子给NAS)。

出现如下日志即表示部署成功:

Seeding: Database\Seeders\UsersTableSeeder
Seeded:  Database\Seeders\UsersTableSeeder (11.08ms)
Seeding: Database\Seeders\WebSocketDialogMsgReadsTableSeeder
Seeded:  Database\Seeders\WebSocketDialogMsgReadsTableSeeder (6.71ms)
Seeding: Database\Seeders\WebSocketDialogMsgsTableSeeder
Seeded:  Database\Seeders\WebSocketDialogMsgsTableSeeder (12.04ms)
Seeding: Database\Seeders\WebSocketDialogUsersTableSeeder
Seeded:  Database\Seeders\WebSocketDialogUsersTableSeeder (6.52ms)
Seeding: Database\Seeders\WebSocketDialogsTableSeeder
Seeded:  Database\Seeders\WebSocketDialogsTableSeeder (195.78ms)
Seeding: Database\Seeders\WebSocketsTableSeeder
Seeded:  Database\Seeders\WebSocketsTableSeeder (6.32ms)
Database seeding completed successfully.
[+] Running 5/5
 ✔ Container dootask-appstore-c8ea58  Started                                           0.5s
 ✔ Container dootask-redis-c8ea58     Healthy                                           0.6s
 ✔ Container dootask-mariadb-c8ea58   Healthy                                           0.6s
 ✔ Container dootask-php-c8ea58       Healthy                                           1.1s
 ✔ Container dootask-nginx-c8ea58     Started                                           1.5s
[OK] 安装完成
地址: http://127.0.0.1:6688
邮箱: admin@dootask.com
密码: d04d9b7b1b77f587
root@DSM:/vol1/1002/docker/dootask#

注意事项

✅ 如果提示目录不存在(常见于群晖)

  1. 由于在群晖NAS上部署时是无权限自动创建所需子文件夹的,所以我们会遇到报错,根据提示手动在对应文件夹创建缺少的文件夹即可。

    root@DSM:/vol1/1002/docker/dootask/dootask# ./cmd install --port 6688
    [+] Running 5/6
     ✔ Network dootask-networks-c8ea58      Created                                         0.1s
     ✔ Volume "dootask-shared-data-c8ea58"  Create...                                       0.0s
     ✔ Volume "dootask-redis-data-c8ea58"   Created                                         0.0s
     ⠿ Container dootask-mariadb-c8ea58     Starting                                        0.8s
     ✔ Container dootask-redis-c8ea58       Started                                         0.8s
     ✔ Container dootask-php-c8ea58         Created                                         0.1s
    Error response from daemon: Bind mount failed: '/vol1/1002/docker/dootask/docker/mysql/data' does not exist
    [错误] 没有找到 php 容器!
    root@DSM:/vol1/1002/docker/dootask# sudo ./cmd install --port 6688
    [+] Running 1/2
     ✔ Container dootask-redis-c8ea58    Running                                            0.0s
     ⠸ Container dootask-mariadb-c8ea58  Starting                                           0.3s
    Error response from daemon: Bind mount failed: '/vol1/1002/docker/dootask/docker/mysql/data' does not exist
    [错误] 没有找到 php 容器!
    root@DSM:/vol1/1002/docker/dootask# sudo ./cmd install --port 6688
    [+] Running 2/3
     ✔ Container dootask-redis-c8ea58    Healthy                                            0.9s
     ✔ Container dootask-mariadb-c8ea58  Healthy                                           10.9s
     ⠼ Container dootask-php-c8ea58      Starting                                           0.4s
    Error response from daemon: Bind mount failed: '/vol1/1002/docker/dootask/docker/logs/supervisor' does not exist
    [错误] 没有找到 php 容器!
  2. 创建完所需的文件夹,查看当前项目文件夹路径。

    pwd
  3. 授权该项目文件夹内的读写权限(部分NAS系统需要【如群晖】,否则容器无读写权限访问运行,按需执行。)

    # 将 /vol1/1002/docker/dootask/ 换成你自己实际的文件夹路径
    
    chmod -R 777 /vol1/1002/docker/dootask/
  4. 执行命令,一键安装项目。

    # 使用默认端口2222
    ./cmd install
    
    # 自定义端口安装,如:./cmd install --port 6688
    ./cmd install --port 6688
  5. 等待加载十来分钟(需保持网络质量,网不好就挂梯子给NAS),系统自动编译项目,然后按日志显示的登录信息登录即可。

    Seeding: Database\Seeders\UsersTableSeeder
    Seeded:  Database\Seeders\UsersTableSeeder (11.08ms)
    Seeding: Database\Seeders\WebSocketDialogMsgReadsTableSeeder
    Seeded:  Database\Seeders\WebSocketDialogMsgReadsTableSeeder (6.71ms)
    Seeding: Database\Seeders\WebSocketDialogMsgsTableSeeder
    Seeded:  Database\Seeders\WebSocketDialogMsgsTableSeeder (12.04ms)
    Seeding: Database\Seeders\WebSocketDialogUsersTableSeeder
    Seeded:  Database\Seeders\WebSocketDialogUsersTableSeeder (6.52ms)
    Seeding: Database\Seeders\WebSocketDialogsTableSeeder
    Seeded:  Database\Seeders\WebSocketDialogsTableSeeder (195.78ms)
    Seeding: Database\Seeders\WebSocketsTableSeeder
    Seeded:  Database\Seeders\WebSocketsTableSeeder (6.32ms)
    Database seeding completed successfully.
    [+] Running 5/5
     ✔ Container dootask-appstore-c8ea58  Started                                           0.5s
     ✔ Container dootask-redis-c8ea58     Healthy                                           0.6s
     ✔ Container dootask-mariadb-c8ea58   Healthy                                           0.6s
     ✔ Container dootask-php-c8ea58       Healthy                                           1.1s
     ✔ Container dootask-nginx-c8ea58     Started                                           1.5s
    [OK] 安装完成
    地址: http://127.0.0.1:6688
    邮箱: admin@dootask.com
    密码: d04d9b7b1b77f587
    root@DSM:/vol1/1002/docker/dootask#

访问 DooTask

打开浏览器,以NAS的IP+设置的端口号进行访问。

http://NAS的IP地址:6688 

示例:http://172.16.19.200:6688

使用日志中显示的默认账户密码登录。

登录成功


使用界面介绍

  1. 登录后点击左上角进入「个人设置」

  2. 可修改密码与基本信息。

  3. 点击「应用 → 应用商店」可安装更多插件。

  4. 界面直观,功能全面,适合小团队项目管理。


常用系统操作命令

重置管理员密码

# 重置默认管理员密码
./cmd repassword

更换 HTTP 端口

# 此方法仅更换http端口,更换https端口请阅读项目SSL配置

./cmd port 80

停止服务(删除所有容器,但不会删除数据)

./cmd down

启动服务

./cmd up

开发编译模式

确保已安装 Node.js v20+

# 开发模式
./cmd dev
   
# 编译项目(这是网页端的,客户端请参考“.github/workflows/publish.yml”文件)
./cmd prod  

启用 HTTPS 配置

方法一:自动配置 SSL

# 执行指令,根据提示执行即可

./cmd https

方法二:Nginx 代理配置

# 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、执行指令(如果取消 Nginx 代理配置请运行:./cmd https close)
./cmd https agent

升级与更新

⚠️ 升级前请备份好数据!

./cmd update
  • 跨越大版本升级失败时请重试执行一次。

  • 如果升级后出现502请运行 ./cmd reup 重启服务即可。


项目迁移指南

  1. 旧项目中备份数据库:

    # 在旧的项目下执行指令
    ./cmd mysql backup
  1. 将旧项目以下文件和目录拷贝至新项目同路径位置

    • 数据库备份文件

    • docker/appstore

    • public/uploads

  1. 在新项目中还原数据库。

    # Run command in the new project
    ./cmd mysql recovery

卸载项目

./cmd uninstall

相关地址


如有问题欢迎评论区交流,祝你部署顺利,项目管理更高效!


文末

👇👇👇