摘要:云服务器是一种虚拟化的计算资源,它提供了一种按需获取计算能力的方式。通过云服务器,我们可以轻松搭建和管理各种应用,无需购买和维护物理服务器。云服务器具有弹性伸缩、高可用性、按需付费等特点,极大地简化了IT基础设施的管理。
一、Flexus云服务器X实例介绍
云服务器是一种虚拟化的计算资源,它提供了一种按需获取计算能力的方式。通过云服务器,我们可以轻松搭建和管理各种应用,无需购买和维护物理服务器。云服务器具有弹性伸缩、高可用性、按需付费等特点,极大地简化了IT基础设施的管理。
华为云下一代云服务器Flexus X实例焕新上线,新产品覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景,业务应用智能加速,覆盖网络应用、数据库、虚拟桌面、分析索引、微服务、CI/CD等通用负载场景,最高可达业界同规格6倍性能。
Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。
本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式
二、Flexus云服务器X实例配置
2.1 重置密码
购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码
勾选自动重启,点击确定即可
2.2 服务器连接
华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。
我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。
2.3 安全组配置
安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。
系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组。
主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCP或UDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。
如果还不清楚可以参考文档:安全组配置示例
2.4 Docker 环境搭建
本次服务器环境是ubuntu系统镜像,需要自己安装docker环境
服务器类别
系统镜像
内网IP地址
Docker版本
操作系统版本
Flexus云服务器X实例
Ubuntu
192.168.0.168
27.2.0
Ubuntu 22.04.4 LTS
使用apt-get命令安装docker及其配置
# 安装必要工具包
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 配置仓库源
$ sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 更新apt包索引
$ sudo apt-get update
# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://ustc-edu-cn.mirror.aliyuncs.com/",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://ccr.ccs.tencentyun.com/",
"https://docker.m.daocloud.io/",
"https://dockerproxy.com",
]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
测试docker安装是否成功
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```
检查docker服务状态
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
Docs: https://docs.docker.com
Main PID: 24912 (dockerd)
Tasks: 13
Memory: 24.7M
CPU: 3.778s
CGroup: /system.slice/docker.service
`-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
检查docker compose版本
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2
三、Flexus云服务器X实例部署 DooTask
3.1 DooTask 介绍
DooTask是一款轻量级的开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具。助力团队高效推进项目,让工作更简单。
高效便捷的团队沟通工具针对项目和任务建立群组,工作问题可及时沟通,促进团队快速协作,提高团队工作效率。强大易用的协同创作云文档
汇集文档、电子表格、思维笔记等多种在线工具,汇聚企业知识资源于一处,支持多人实时协同编辑,让团队协作更便捷。便捷多样的项目管理模版
模版满足多种团队协作场景,同时支持自定义模版,满足团队个性化场景管理需求,可直观的查看项目的进展情况,团队协作更方便。清晰直观的任务日历
通过灵活的任务日历,轻松安排每一天的日程,把任务拆解到每天,让工作目标更清晰,时间分配更合理。支持多平台应用
多平台应用支持,随时随地追踪项目进度,同时让你在工作中每一个步骤都能拥有更高效愉悦的体验。
Dootask 是一个开源的项目管理工具,类似于 Jira、Trello 等工具,但它是基于 Web 的,并且完全开源。DooTask模版满足多种团队协作场景,同时支持自定义模版,满足团队个性化场景管理需求,可直观的查看项目的进展情况,团队协作更方便。功能非常全面,提供了任务管理、项目管理、IM、文件管理等功能,并且效果超级赞!
3.2 DooTask 部署
系统要求必须安装:Docker v20.10+ 和 Docker Compose v2.0+支持环境:Centos/Debian/Ubuntu/macOS/Windows硬件建议:2核4G以上查看 docker 版本是否满足要求
root@flexusx-c6b3:~# docker -v
Docker version 24.0.2, build cb74dfc
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.18.1
克隆项目到您的本地或服务器
# 通过github克隆项目
git clone -b pro --depth=1 https://github.com/kuaifan/dootask.git
# 或者你也可以使用gitee
git clone -b pro --depth=1 https://gitee.com/aipaw/dootask.git
进入目录,并一键安装项目
cd dootask
# 自定义端口安装,如:./cmd install --port 80
./cmd install
重置默认管理员密码
./cmd repassword
更换http端口
./cmd port 80
停止服务
./cmd stop
一旦应用程序被设置,无论何时你想要启动服务器(如果它被停止)运行以下命令
./cmd start
上面主要介绍了DooTask的安装方式和如何通过自定义的脚本管理此服务
root@flexusx-c6b3:~# git clone -b pro --depth=1 https://github.com/kuaifan/dootask.git
Cloning into 'dootask'...
remote: Enumerating objects: 2800, done.
remote: Counting objects: 100% (2800/2800), done.
remote: Compressing objects: 100% (2266/2266), done.
remote: Total 2800 (delta 631), reused 2160 (delta 473), pack-reused 0 (from 0)
Receiving objects: 100% (2800/2800), 51.30 MiB | 1.66 MiB/s, done.
Resolving deltas: 100% (631/631), done.
root@dev-fj-srv:/home/server/code/fangjian/ubuntu# cd dootask/
root@dev-fj-srv:/home/server/code/fangjian/ubuntu/dootask# ./cmd install
本项目也是通过 docker 部署,集成了很多其他服务,如 onlyoffice、drawio等,进入项目目录,执行docker up -d启动命令,会自动拉取容器并运行
从 Dockerhub 拉取 DooTask 镜像,地址:https://hub.docker.com/r/kuaifan/dootaskphp
root@flexusx-c6b3:~/dootask# docker-compose up -d
Pulling fileview (kuaifan/fileview:4.2.0-SNAPSHOT-RC25)...
4.2.0-SNAPSHOT-RC25: Pulling from kuaifan/fileview
17d0386c2fff: Pull complete
949ec162441f: Pull complete
d156317f5aff: Pull complete
5a7c411aa9b5: Pull complete
e396c06e5cf7: Pull complete
Digest: sha256:890a6ed05ca934a0e3694e387f1f04eeda0d356cd3a90ac0f164274a560e272d
Status: Downloaded newer image for kuaifan/fileview:4.2.0-SNAPSHOT-RC25
Pulling office (onlyoffice/documentserver:7.5.1.1)...
7.5.1.1: Pulling from onlyoffice/documentserver
aece8493d397: Pull complete
92f5c2c7712d: Pull complete
a264dc4762fc: Pull complete
4d81d0211334: Pull complete
6bb25cb7d448: Pull complete
ea6d32d40208: Pull complete
Digest: sha256:4194452493e2f49f138f893afb8f75e49f24b4ce956694aa2b62657727d2e04d
Status: Downloaded newer image for onlyoffice/documentserver:7.5.1.1
Pulling ai (kuaifan/dooai:0.2.0)...
0.2.0: Pulling from kuaifan/dooai
4abcf2066143: Pull complete
73bf4d5c70c5: Pull complete
87627653de88: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:044266ca624d966e4040c217bc71058069bf100bbf9d2d465e695e122b5cbb29
Status: Downloaded newer image for kuaifan/dooai:0.2.0
Pulling drawio-export (kuaifan/export-server:0.0.1)...
0.0.1: Pulling from kuaifan/export-server
648e0aadf75a: Pull complete
41c739c16d9c: Pull complete
85f19dcf293f: Pull complete
fda13199b871: Pull complete
c66f790f220d: Pull complete
1fd44b2c3589: Pull complete
e6bc99b2697f: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:08fc82fa8e0b247442d3c727e822dbf6af54cfc3e39dbbb1f3e5ffea47fb6c97
Status: Downloaded newer image for kuaifan/export-server:0.0.1
Pulling minder (kuaifan/minder:0.1.3)...
0.1.3: Pulling from kuaifan/minder
9398808236ff: Pull complete
a4896b78e8db: Pull complete
a352ab202530: Pull complete
b9258afd0639: Pull complete
8799ab366479: Pull complete
07bc104f8702: Pull complete
8afc9a751a90: Pull complete
93f452c67a54: Pull complete
Digest: sha256:4bea8de58405569f9b8f9824a0a786e79f8e2d1a851ce867c8476a0aa32a1659
Status: Downloaded newer image for kuaifan/minder:0.1.3
Pulling mariadb (mariadb:10.7.3)...
10.7.3: Pulling from library/mariadb
d5fd17ec1767: Pull complete
49b1cc1f34f7: Pull complete
9924a2c30493: Pull complete
a2bb7d6219ce: Pull complete
1eb5d2e9991e: Pull complete
3cbaef7da880: Pull complete
52f39675d129: Pull complete
a4c0075a397a: Pull complete
248a5800afac: Pull complete
27261e54ed45: Pull complete
3b18f8f83243: Pull complete
Digest: sha256:07e06f2e7ae9dfc63707a83130a62e00167c827f08fcac7a9aa33f4b6dc34e0e
Status: Downloaded newer image for mariadb:10.7.3
Pulling okr (kuaifan/doookr:0.4.3)...
0.4.3: Pulling from kuaifan/doookr
d25f557d7f31: Already exists
af8a4bc78925: Pull complete
ea99a9998e90: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:0fd05871b84ac6e68041b63cc0b82280e4500827ce11b8397e94b2bf6735b68e
Status: Downloaded newer image for kuaifan/doookr:0.4.3
Pulling approve (kuaifan/dooapprove:0.1.2)...
0.1.2: Pulling from kuaifan/dooapprove
46b060cc2620: Already exists
21af147d2ad5: Pull complete
b3ee43e51ca6: Pull complete
b17a9d410da1: Pull complete
542e3e75411d: Pull complete
2b2faad386df: Pull complete
a5e22afba545: Pull complete
fb923a41dc10: Pull complete
bc03a82d7bfa: Pull complete
da9c23127c81: Pull complete
7516299cd561: Pull complete
173288fa0c8b: Pull complete
7b7cb935ae61: Pull complete
8e8fa381f12f: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:d3ce960fe0f9796efda5b8c6af051370bdbecf3388b54fc10e426c4fd52a2307
Status: Downloaded newer image for kuaifan/dooapprove:0.1.2
Pulling drawio-webapp (jgraph/drawio:20.8.20)...
20.8.20: Pulling from jgraph/drawio
10ac4908093d: Pull complete
c5b99dc26ba3: Pull complete
475d0703f5bc: Pull complete
d2576264bf76: Pull complete
6a0a6e898eec: Pull complete
43b9749257b8: Pull complete
b2d015338739: Pull complete
5e2ea64ecb1f: Pull complete
05fc01ab6cd7: Pull complete
f23a2d0e6cbf: Pull complete
439b1dc1f2f2: Pull complete
2a30bb7c4682: Pull complete
4f4fb700ef54: Pull complete
626da4e4e227: Pull complete
Digest: sha256:6ac95be20816deef6c0cd4a92cc370465d74fd66dfb6a9ef230bbece592f2423
Status: Downloaded newer image for jgraph/drawio:20.8.20
Pulling php (kuaifan/php:swoole-8.0.rc15)...
swoole-8.0.rc15: Pulling from kuaifan/php
b7f91549542c: Pull complete
0754b57b9b7d: Pull complete
71e5060f3937: Pull complete
f25a6e74b7f5: Pull complete
3f7a772f0363: Pull complete
ee48c9e915e2: Pull complete
7f68d274ab3d: Pull complete
da7aa3fe8a57: Pull complete
cc24491dbfd3: Pull complete
240055977ba4: Pull complete
46f0289adcf6: Pull complete
87ae5f186d1e: Pull complete
4f4fb700ef54: Pull complete
993e5f5d37e8: Pull complete
3b5a30924d1a: Pull complete
4bbe0b5e7aec: Pull complete
07532110dd6e: Pull complete
7a2730be5ca1: Pull complete
13278d512a59: Pull complete
f5cefe105279: Pull complete
142195ab83e9: Pull complete
2b5fa09f8df5: Pull complete
d1f53bd8c216: Pull complete
e747fc1ab67c: Pull complete
Digest: sha256:f5993a3b3162e83e16c9c5d4f9679732f5441507cf5849d5f38aa7492032e07b
Status: Downloaded newer image for kuaifan/php:swoole-8.0.rc15
Pulling nginx (nginx:alpine)...
alpine: Pulling from library/nginx
43c4264eed91: Pull complete
5b19511a843d: Pull complete
652d69a25e85: Pull complete
51676974aef5: Pull complete
bb16f69e8876: Pull complete
6fb07faa0055: Pull complete
c298c5a0cd21: Pull complete
0c02f601d0ee: Pull complete
Digest: sha256:a5127daff3d6f4606be3100a252419bfa84fd6ee5cd74d0feaca1a5068f97dcf
Status: Downloaded newer image for nginx:alpine
Creating dootask-office-e0f903 ...
Creating dootask-minder-e0f903 ...
Creating dootask-mariadb-e0f903 ...
Creating dootask-redis-e0f903 ...
Creating dootask-fileview-e0f903 ...
Creating dootask-ai-e0f903 ...
Creating dootask-drawio-export-e0f903 ...
Creating dootask-mariadb-e0f903
Creating dootask-minder-e0f903
Creating dootask-office-e0f903
Creating dootask-redis-e0f903
Creating dootask-fileview-e0f903
Creating dootask-ai-e0f903
Creating dootask-mariadb-e0f903 ... done
Creating dootask-approve-e0f903 ...
Creating dootask-okr-e0f903 ...
Creating dootask-approve-e0f903
Creating dootask-redis-e0f903 ... done
Creating dootask-php-e0f903 ...
Creating dootask-drawio-export-e0f903 ... done
Creating dootask-drawio-webapp-e0f903 ...
Creating dootask-drawio-webapp-e0f903 ... done
Creating dootask-nginx-e0f903 ...
Creating dootask-nginx-e0f903 ... done
在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听2222端口,所以添加安全组为TCP:2222协议端口。
检查容器状态检查 DooTask 容器状态,确保容器正常启动
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fd234796d780 nginx:alpine "/docker-entrypoint.…" 2 hours ago Up 43 minutes 0.0.0.0:2222->80/tcp, :::2222->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp dootask-nginx-e0f903
69e9f4b842a8 jgraph/drawio:20.8.20 "/docker-entrypoint.…" 2 hours ago Up 44 minutes 8080/tcp, 8443/tcp dootask-drawio-webapp-e0f903
dac3f2651f32 kuaifan/php:swoole-8.0.rc15 "/start.sh" 2 hours ago Up 44 minutes dootask-php-e0f903
358c9c4a844d kuaifan/doookr:0.4.3 "/var/doo/doo_okr" 2 hours ago Restarting (1) 10 seconds ago dootask-okr-e0f903
a59545ad28c4 kuaifan/dooapprove:0.1.2 "/docker-entrypoint.…" 2 hours ago Restarting (1) 27 seconds ago dootask-approve-e0f903
13b12fd6bbf0 kuaifan/export-server:0.0.1 "docker-entrypoint.s…" 2 hours ago Up 44 minutes 8000/tcp dootask-drawio-export-e0f903
ea3663553eec kuaifan/dooai:0.2.0 "/var/doo/doo_cli ai" 2 hours ago Up 44 minutes dootask-ai-e0f903
ac08e0817704 redis:alpine "docker-entrypoint.s…" 2 hours ago Up 44 minutes 6379/tcp dootask-redis-e0f903
e8cab7e647e4 kuaifan/fileview:4.2.0-SNAPSHOT-RC25 "java -agentlib:jdwp…" 2 hours ago Up 44 minutes dootask-fileview-e0f903
67568375e31e onlyoffice/documentserver:7.5.1.1 "/app/ds/run-documen…" 2 hours ago Up 44 minutes 80/tcp, 443/tcp dootask-office-e0f903
c75fafa1ec87 kuaifan/minder:0.1.3 "/docker-entrypoint.…" 2 hours ago Up 44 minutes 80/tcp dootask-minder-e0f903
caefeb71574c mariadb:10.7.3 "docker-entrypoint.s…" 2 hours ago Up 44 minutes 3306/tcp dootask-mariadb-e0f90
内网:http://localhost:2222
外网:http://公网IP:2222
若出现此页面,则部署 dootask server 成功。
3.3 DooTask 使用
直接输入管理员帐号和密码完成登录,进入首页
在注册页面对应的输入框,分别输入电子邮箱/密码/邀请码,创建DooTask账户,点击【注册】即可完成账号注册
仪表盘主要展示项目概述信息:显示任务统计数据(显示今日到期任务、超期任务、待完成任务)和左侧功能栏:日历、消息、文件、项目列表和新建项目功能
日历的形式显示项目进度
左侧导航栏中的【消息】按键,可查看“任务提醒”,任务提醒机器人根据关联任务变更状态实时更新提醒,如新建任务提示、任务修改提示、任务到期提示等。可查看“签到打卡”,签到打卡机器人自动记录员工日常签到打卡数据,帮用户实现有效的工作进度管理及时间规划。还可以进行内部交流活动
左侧点击【文件】,显示和查看项目相关文件,点击页面右上角【新建文件】图标按钮,即可新建文件夹/上传文件/上传文件夹,目前系统支持文本、图标、思维导图、Word文档、Excel工作表、PPT演示文稿多种文件类型。
选择对应的文件夹/文件后点击右上角图标,点击【共享】即可将文件夹/文件共享给相关项目成员。勾选页面右上角【仅显示我的】图标,即可分类查看个人关联文件。
因为集成了Onlyoffice,可以直接编辑和预览 office 文件,比如 word 文件
比如 excel 文件
还有 PPT 文件
集成的 drawIo 可以直接在线绘制流程图
还有 markdwon 编辑器
点击DooTask页面左下角的【新建项目】,输入项目名称(必填并且不能少于两个字)→选择项目模板(默认空白模板)→选择是否开启工作流,点击【添加】即可完成项目创建。
左侧点击对应的项目名称按钮,即可显示该项目所属的所有任务列表。点击左上角对应的【切换视图】图标,可查看对应任务的任务分类/任务优先级/负责人/到期时间等信息。
常规情况下“已完成任务”将在任务列表中自动隐藏,不作展示,勾选项目任务列表中右上角【显示已完成】图标,即可查看“已完成任务”。
选定项目名称进入任务列表,在对应任务列表左上角点击【新建任务】图标,在对应输入框中输入任务描述/详细描述,选择任务优先级/任务时间/任务负责人/可见性等信息,并按需添加子任务。点击创建任务页面右下角【添加任务】,完成新任务创建。
选择需要修改的任务,打开任务详情页,点击【截止时间】根据实际情况对任务时间进行修改。
在任务创建窗口和任务详情页中,可按需设置任务优先级,系统目前支持四大任务优先级:重要紧急、重要不紧急、紧急不重要、不重要不紧急。(可根据任务情况变更优先级)
选择对应任务,打开任务详情页,在页面右侧聊天窗口输入框中输入关联的文件链接/任务,点击【发送】图标即可引用。
Dootask 的界面设计简洁明了,采用了现代化的 UI 风格,整体看起来非常舒适。左侧是项目导航栏,右侧是任务列表和详细信息,布局合理,操作起来很直观。该工具支持创建、编辑和删除任务,并提供多种分类和标签功能,使得任务管理更加便捷。很喜欢强大的在线 office 文件的管理和编辑,还可以在线编辑 markdown 文件,还有更多有趣的设置和功能就需要自行探索了。
四、总结
DooTask 的产品理念围绕“高效协作”,提供了从项目规划、任务管理、团队沟通到绩效衡量的全面解决方案,可以借助在线文档、任务日历等工具进行具体任务的分配和执行进度的追踪。无论是小型创新公司还是跨国企业集团,DooTask 都可以根据其独特需求量身定制合适的协作工具。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格的基础模式,尽管本地运行ollama模型,在本地部署的情况下,Dootask 的响应速度非常快,页面加载几乎没有延迟。
利用华为云服务器的高性能和稳定性,快速部署在线项目任务管理工具,提升团队协作效率,满足多样化需求。现在华为云服务器正进行828 B2B企业节,享受优惠价格和专业技术支持,让您的项目管理更高效、更智能。立即行动!
来源:互联网播客