mirror of
https://github.com/okxlin/appstore.git
synced 2026-09-22 08:00:59 +00:00
DooTask
产品介绍
DooTask 是一个开源团队协作与任务管理平台,提供项目、任务、消息、文件和 WebSocket 实时协作能力。
主要功能
- 项目、任务、聊天和文件协作一体化
- 基于 Laravel Swoole 的实时 Web 与 WebSocket 服务
- 支持通过 1Panel 服务选择器接入外部 MySQL 与 Redis 依赖
- 首次启动自动拉取固定上游源码与发布版
vendor依赖
访问说明
- 安装后通过
http://<服务器IP>:<端口>访问,实际端口以安装表单中的PANEL_APP_PORT_HTTP为准。 - 首次启动需要下载固定的 DooTask
v1.8.64源码包和官方发布的vendor.tar.gz,通常需要等待数分钟。 - 初始化完成后会自动执行数据库迁移,并在数据库为空时创建首个管理员账号。
Introduction
DooTask is an open source team collaboration and task management platform with projects, tasks, chat, files, and realtime WebSocket features.
Features
- Unified projects, tasks, chat, and file collaboration
- Laravel plus Swoole realtime web and WebSocket stack
- External MySQL and Redis dependency support through 1Panel service selectors
- First startup bootstraps the fixed upstream source tarball and released vendor bundle
部署说明
- 本应用基于上游仓库
kuaifan/dootask的官方发布线v1.8.64适配。 - PHP 运行镜像使用维护者发布的
kuaifan/php:swoole-8.4,Nginx 使用官方镜像nginx:1.31-alpine。 - 固定版本目录保留已测试 digest;
latest目录不固定 digest,允许 Watchtower 等工具拉取同一标签的新镜像。镜像更新后应重新验证启动、迁移和默认工作流。 - 上游官方 compose 还包含
mariadb、redis和appstoresidecar;其中appstoresidecar 依赖privileged与 Docker Socket,但它不是主站启动必需组件,因此本适配明确移除。 - 数据库与 Redis 表单都按 1Panel 服务实例/服务名接入设计:MySQL 使用数据库服务选择器,Redis 使用
key: redis的服务选择器;运行时仍保持PANEL_DB_HOST/REDIS_HOST等既有环境变量,避免升级时破坏老用户现有.env。 - 上游
v1.8.64有少量历史 migration 与现代 MySQL 8 严格模式不兼容,包括TEXT default ''和一条distinct + chunk查询排序问题;本适配会在首次解包源码后仅对这些已确认 migration 做幂等兼容修补,再继续官方迁移流程。
端口
| 变量 | 说明 | 默认值 | 必填 |
|---|---|---|---|
PANEL_APP_PORT_HTTP |
DooTask Web 访问端口 | 28080 |
是 |
数据持久化
| 变量 / 目录 | 说明 | 默认值 |
|---|---|---|
APP_DATA_DIR/app |
DooTask 源码、.env、vendor、上传文件和 Laravel storage |
./data/app |
APP_DATA_DIR/logs/supervisor |
supervisor 日志 | ./data/logs/supervisor |
升级、迁移或重装前,请至少备份整个 APP_DATA_DIR、外部 MySQL 数据库以及外部 Redis 数据。
参数说明
| 变量 | 说明 | 默认值 | 必填 |
|---|---|---|---|
PANEL_DB_TYPE |
1Panel 数据库服务类型 | mysql |
是 |
PANEL_DB_HOST |
1Panel MySQL 服务实例 | 空 | 是 |
DB_PORT |
MySQL 端口 | 3306 |
是 |
PANEL_DB_NAME |
DooTask 数据库名 | dootask |
是 |
PANEL_DB_USER |
DooTask 数据库用户 | dootask |
是 |
PANEL_DB_USER_PASSWORD |
DooTask 数据库密码 | 随机生成 | 是 |
DB_PREFIX |
数据表前缀 | pre_ |
是 |
REDIS_HOST |
1Panel Redis 服务实例 | 空 | 是 |
REDIS_PORT |
Redis 端口 | 6379 |
是 |
PANEL_REDIS_ROOT_PASSWORD |
Redis 密码;无密码时填字面量 null |
null |
是 |
REDIS_DB |
Redis 逻辑库编号 | 0 |
是 |
TIMEZONE |
容器与应用时区 | Asia/Shanghai |
是 |
DOOTASK_ADMIN_EMAIL |
首个管理员邮箱 | admin@example.com |
是 |
DOOTASK_ADMIN_PASSWORD |
首个管理员密码 | 随机生成 | 是 |
DOOTASK_ADMIN_NICKNAME |
首个管理员昵称 | Administrator |
是 |
使用说明
- 数据库为空时,安装脚本会自动创建首个管理员;如果数据库里已经有用户,则不会覆盖已有账号。
PANEL_REDIS_ROOT_PASSWORD需要与目标 Redis 实例实际配置一致;如果 Redis 没启用密码认证,请填写字面量null。- 若安装界面暂时没有可选 Redis 服务,请先在当前 1Panel 中安装并确认可复用的 Redis 应用实例。
- 如需公网访问,请在首次启动后按实际域名或反向代理情况检查
APP_DATA_DIR/app/.env中的APP_URL,必要时手动改为真实外部 URL。 /health可用于基础存活检查;计划任务由容器内 cron 继续调用上游/crontab路由。- 如果目标是 local app 数据库或 Redis,请先确认该服务实例在当前面板中能被其他应用实际访问;本包当前审计重点验证的是 1Panel 依赖服务选择链路,而不是手工填写主机名的旁路安装。
风险与升级说明
- 这是一个上游源码首启下载型包,而不是纯镜像即开即用包;首次安装耗时明显高于普通应用。
- 当前包的应用源码固定到
v1.8.64发布线,latest目录也使用这一版源码;运行镜像标签可独立更新。 - 为兼容现代 MySQL 8 安装,入口脚本会对上游少量已确认的历史 migration 做一次性本地修补;这不会自动升级到其他上游版本。
- Redis 服务选择器这次只修正了安装表单元数据,未改动实际运行时 envKey,因此老用户已有
REDIS_HOST/REDIS_PORT/PANEL_REDIS_ROOT_PASSWORD配置仍可直接沿用。 - 自动 in-place 源码升级暂未放开;
upgrade.sh只输出明确提醒,不会做破坏性迁移。 - 直接更换到未来版本前,请先完整备份
APP_DATA_DIR/app、外部 MySQL 数据库和 Redis 数据,并先做专项升级 smoke。 - 当前包仍不加入 Renovate 自动合并白名单。