kuaifan 5a10f59df8 fix(task): 修复周期任务到点后无限复制重复任务
Carbon 3 的 addDays() 不接受字符串,自定义天数周期(loop="90")在
refreshLoop() 中抛 TypeError。LoopTask 先提交副本再刷新周期,异常后
副本与原任务的 loop_at 都留在 10 分钟窗口内,每分钟翻倍并在同一轮内
被 chunkById 继续扫到。

- refreshLoop:自定义天数转 int 且必须大于 0,拒绝 0 天周期
- LoopTask:复制、刷新周期、关闭旧周期放入同一事务,失败整体回滚;
  锁定并复核原任务防并发重入;refreshLoop 失败即抛出;只处理本轮
  开始前已存在的任务
- ai-kb:更正周期任务按 loop_at 到点生成(而非完成时生成)、不依赖
  end_at、会复制附件,并补充自定义天数须为正整数
2026-09-30 14:48:43 +00:00
2026-08-13 02:38:01 +00:00
2026-09-10 13:56:21 +00:00
2021-05-29 16:52:48 +08:00
2021-05-29 16:52:48 +08:00
2025-03-21 11:34:09 +08:00
2021-05-29 16:52:48 +08:00
2023-03-24 09:08:53 +08:00
2021-05-29 16:52:48 +08:00
2026-09-10 13:56:21 +00:00
cmd
2026-08-22 22:15:25 +00:00
2026-08-13 02:38:01 +00:00
2026-08-13 02:38:01 +00:00
2021-11-18 02:31:17 +00:00
2026-09-10 13:56:21 +00:00
2021-08-29 15:49:54 +08:00
2021-05-29 16:52:48 +08:00
2025-10-16 23:56:48 +00:00

DooTask - Open Source Task Management System

English | 中文文档

QQ Group

  • Group Number: 546574618

Installation Requirements

  • Required: Docker v20.10+ and Docker Compose v2.0+
  • Supported Systems: CentOS/Debian/Ubuntu/macOS and other Linux/Unix systems
  • Hardware Recommendation: 2+ cores, 4GB+ memory
  • Database: MariaDB (provided by the default Docker Compose mariadb service)
  • Special Note: Windows users can install Linux environment using WSL2 before installing DooTask.

Deploy Project

Option 1: One-line script (recommended)

Run it in an empty directory to clone and install automatically; run it inside an existing installation to check and upgrade:

curl -fsSL https://raw.githubusercontent.com/kuaifan/dootask/pro/bin/install | bash

Option 2: Manual deployment

# 1、Clone the project to your local machine or server

# Clone project from GitHub
git clone --depth=1 https://github.com/kuaifan/dootask.git
# Or you can use Gitee
git clone --depth=1 https://gitee.com/aipaw/dootask.git

# 2、Enter directory
cd dootask

# 3、One-click installation (Custom port installation: ./cmd install --port 80)
./cmd install

Reset Password

# Reset default administrator password
./cmd repassword

Change Port

# This method only changes HTTP port. For HTTPS port, please read SSL configuration below
./cmd port 80

Stop Service

./cmd down

Start Service

./cmd up

Development & Build

Please ensure you have installed NodeJs 20+

# Development mode
./cmd dev
   
# Build project (This is for web client. For desktop apps, refer to ".github/workflows/publish.yml")
./cmd prod  

SSL Configuration

Method 1: Automatic Configuration

# Run command and follow the prompts
./cmd https

Method 2: Nginx Proxy Configuration

# 1、Add Nginx proxy configuration
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、Run command (To cancel Nginx proxy configuration: ./cmd https close)
./cmd https agent

Upgrade & Update

Note: Please backup your data before upgrading!

Recommended: use the one-line script (run it inside an existing installation; it pulls the latest code and finishes the upgrade in a single run):

curl -fsSL https://raw.githubusercontent.com/kuaifan/dootask/pro/bin/install | bash

Or use the local command:

./cmd update
  • If you encounter 502 errors after upgrade, run ./cmd reup to restart services.

Project Migration

After installing the new project, follow these steps to complete migration:

1、Backup the MariaDB database

# Run command in the old project
./cmd mysql backup

./cmd mysql is the CLI subcommand name; backups run against the MariaDB container.

2、Copy the following files and directories from old project to the same paths in new project

  • Database backup file
  • docker/appstore
  • public/uploads

3、Restore database to new project

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

Uninstall Project

./cmd uninstall

More Commands

./cmd help
Description
DooTask是一款开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具;同时消息功能使用非对称加密技术让你的沟通更安全。
Readme AGPL-3.0 408 MiB
Languages
PHP 57.8%
Vue 36.2%
HTML 2.8%
JavaScript 1.5%
Shell 1%
Other 0.7%