kuaifan 645cb02757 chore(upgrade): Laravel 8 直升 13(旧结构跑通)+ PHP 8.4 + 依赖升级与兼容修复
- composer: framework ^13.0、php ^8.3、laravel-s ~3.8.0、predis ^2.3、
  phpunit ^11.5、tinker ^3、excel ^3.1.69、captcha ^3.5、avatar ^6.5、
  ldaprecord-laravel ^4、pinyin ^5.3、notify 锁 ~1.28.0;
  移除 fideloper/proxy、fruitcake/laravel-cors、facade/ignition、
  laravel/sail、madnest/madzipper、手动钉的 symfony/mailer;
  symfony/console 锁 ^7.4(LaravelS Portal 与 console 8 的
  configure(): void 类型断言不兼容)
- $dates 移除:AbstractModel 改 getCasts() 合并默认 datetime 列,
  3 个子模型改 $casts
- Carbon 3:4 处 diffInSeconds 补 absolute 参数并取整
- LdapRecord v4:config use_ssl/use_tls→use_tls/use_starttls(env 变量名不变),
  LdapUser::$objectClasses 补类型声明
- Madzipper→原生 ZipArchive(Base::zipAddFiles,4 处调用)
- pinyin v5 静态 API(Base::getFirstCharter/cn2pinyin)
- laravolt/avatar 6.5:PatchedAvatar 修上游纵向对齐 bug
 (intervention 4.1.3 枚举无 middle),avatar 响应改 response()->file()
- TrustProxies 改框架内置基类,CORS 改 Illuminate\Http\Middleware\HandleCors
- Symfony Console 8 兼容:ManticoreSyncLock::handleSignal 新签名,
  pcntl 回调解耦
- 非 Swoole 运行时守卫:AbstractTask::task / PushTask::push /
  AbstractData(swoole table),artisan/测试上下文不再炸
  Target class [swoole] does not exist
- Laravel 11+ change() 丢修饰符:2023_12_07 与 2025_08_10 迁移重申
  nullable/default/comment(修复 fresh 安装)
- Setting/Ihttp 缺键访问加 ?? 守卫(PHP 8 警告在测试中转异常)
- phpunit.xml 迁移 11 schema;UserImportParseTest 改为自建部门数据

验证:8.4 容器内 migrate:fresh --seed 213 全过;php artisan test
145 passed/1 skipped;LaravelS(Swoole 6.2.1) /health 200、登录、
token 认证、WebSocket 握手、Task 投递、头像、图片裁剪冒烟全过

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 19:42:12 +00:00
2021-05-29 16:52:48 +08:00
2026-06-04 23:06:30 +00:00
2021-05-29 16:52:48 +08:00
2025-09-27 07:09:08 +08:00
2024-11-04 20:11:18 +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
2024-12-10 09:09:19 +08:00
2021-05-29 16:52:48 +08:00
2021-05-29 16:52:48 +08:00
2026-06-04 23:06:30 +00:00
2025-10-25 10:46:01 +08:00
2021-11-18 02:31:17 +00:00
2026-05-25 15:04:16 +03:00
2021-08-29 15:49:54 +08:00
2026-05-25 15:04:16 +03: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

📍 Migration from 0.x to 1.x

  • Please ensure to back up your data before upgrading!
  • If the upgrade fails, try running ./cmd update multiple times.
  • If you encounter "Container xxx not found" during upgrade, run ./cmd reup and then execute ./cmd update.
  • If you see a 502 error after upgrading, run ./cmd reup to restart the services.
  • If you encounter "Application 'xxx' not installed" after upgrading, log in with the admin account and install the relevant applications from the App Store.

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

# 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!

./cmd update
  • Please retry if upgrade fails across major versions.
  • 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 402 MiB
Languages
PHP 58.8%
Vue 36.4%
HTML 3.1%
Shell 0.6%
Less 0.5%
Other 0.6%