Carbon 3 的 addDays() 不接受字符串,自定义天数周期(loop="90")在 refreshLoop() 中抛 TypeError。LoopTask 先提交副本再刷新周期,异常后 副本与原任务的 loop_at 都留在 10 分钟窗口内,每分钟翻倍并在同一轮内 被 chunkById 继续扫到。 - refreshLoop:自定义天数转 int 且必须大于 0,拒绝 0 天周期 - LoopTask:复制、刷新周期、关闭旧周期放入同一事务,失败整体回滚; 锁定并复核原任务防并发重入;refreshLoop 失败即抛出;只处理本轮 开始前已存在的任务 - ai-kb:更正周期任务按 loop_at 到点生成(而非完成时生成)、不依赖 end_at、会复制附件,并补充自定义天数须为正整数
DooTask - Open Source Task Management System
English | 中文文档
QQ Group
- Group Number:
546574618
Installation Requirements
- Required:
Docker v20.10+andDocker Compose v2.0+ - Supported Systems:
CentOS/Debian/Ubuntu/macOSand other Linux/Unix systems - Hardware Recommendation: 2+ cores, 4GB+ memory
- Database: MariaDB (provided by the default Docker Compose
mariadbservice) - 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 reupto 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 mysqlis 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 filedocker/appstorepublic/uploads
3、Restore database to new project
# Run command in the new project
./cmd mysql recovery
Uninstall Project
./cmd uninstall
More Commands
./cmd help