基于华为openEuler部署tududi个人任务管理工具【华为根技术】

举报
江湖有缘 发表于 2025/08/20 14:32:52 2025/08/20
【摘要】 基于华为openEuler部署tududi个人任务管理工具【华为根技术】

前言


随着数字化转型的深入,高效的任务管理工具成为提升个人与团队生产力的关键。华为openEuler作为一款面向数字基础设施的开源Linux操作系统,以其高性能、高安全和全场景支持能力,为各类应用提供了坚实的运行底座。tududi作为一款轻量级个人任务管理工具,结合Docker容器化部署,能够快速在openEuler系统上落地运行。本次实践基于华为根技术生态,探索在openEuler上部署与使用tududi的完整流程,验证其稳定性与资源效率。


一、相关服务介绍

1.1 openEuler系统介绍

  • 简介

openEuler是华为发起并主导的一个开源操作系统项目,它基于Linux内核开发,致力于为企业级应用提供安全、稳定、可靠的操作环境。自2019年正式开源以来,openEuler迅速吸引了全球众多开发者和技术爱好者的关注,并逐渐形成了一个活跃的开源社区。该系统不仅支持多种处理器架构(如x86、ARM等),而且通过持续的技术创新,在性能优化、安全性增强以及容器化支持等方面展现了显著的优势。

  • 主要特点
  • 开源性:openEuler遵循开源协议,允许任何个人或组织自由获取、使用、修改及分发系统代码,这极大地促进了技术创新与共享。
  • 高性能与稳定性:通过对Linux内核进行深度优化,openEuler能够提供出色的运行效率和稳定性,满足企业级应用场景的需求。
  • 安全性:提供了包括安全启动、数据加密在内的多重安全保障措施,确保用户数据的安全性。
  • 容器化支持:兼容Docker和Kubernetes等容器技术,便于开发者构建、部署和管理容器化应用。
  • 丰富的生态系统:拥有庞大的开发者社区和丰富的软件库,为用户提供广泛的软件支持和服务。

1.2 tududi介绍

Tududi 简介

Tududi 是一款专为注重隐私、掌控力与效率的个人及团队打造的自托管任务管理工具,融合了个人待办事项的简洁性与专业项目管理的强大功能,帮助用户在本地环境中高效组织任务、项目与笔记。

Tududi主要功能

  • 任务管理:支持创建、编辑、删除任务,并可通过今天、即将、某天等视图过滤,按名称、优先级或日期排序。
  • 子任务:将复杂任务拆解为多个子任务,便于分步完成并实时追踪整体进度。
  • 重复任务:提供强大的周期性任务功能,支持多种重复模式与智能实例管理。
  • 多种重复模式:可设置每日、每周、每月、特定工作日或每月最后一天等重复规则。
  • 基于完成的重复:任务重复时间可基于实际完成日期而非原定截止日,更符合实际使用场景。
  • 智能父子链接:生成的重复任务实例与原始模板保持关联,确保设置变更同步更新。
  • 直接编辑父任务:从任意一个重复任务实例中可直接修改其父模板的重复设置,操作更便捷。
  • 灵活时间安排:支持自定义重复间隔,如每2周、每3个月等,满足个性化周期需求。
  • 结束日期控制:可为重复任务系列设置终止日期,避免无限循环。
  • 快速笔记:支持创建和管理文本笔记,并可将其关联到具体项目中,便于信息归集。
  • 标签管理:为任务和笔记添加标签,实现多维度分类与快速筛选。
  • 项目跟踪:将相关任务和笔记组织到项目中,实现结构化工作管理。
  • 区域分类:将项目划分到不同“区域”(如工作、生活、学习),提升专注力与组织清晰度。
  • 到期日期追踪:为任务设置截止日期,并通过到期时间分类(如今日、本周)集中查看。
  • 响应式设计:界面适配桌面、平板和手机等多种设备,确保跨平台一致体验。
  • 多语言支持:支持24种语言的完整本地化,满足全球用户的语言偏好。
  • Telegram 集成:通过 Telegram 消息直接创建任务,实现快速记录。
  • 每日任务总结:接收每日待办事项汇总通知,帮助掌握当日重点。
  • 随时捕捉想法:利用 Telegram 随时发送想法或待办,无缝同步至 Tududi。

二、本次实践介绍

2.1 本次实践介绍

1.本次实践环境为个人测试环境,生产环境请谨慎;
2.本次实践主要是在openEuler系统下部署tududi个人任务管理工具。

2.2 本次环境规划

本次环境规划如下所示:

服务器 HostName IP地址 操作系统 内核版本 部署项目 Docker版本
VM虚拟机 openEuler-server 192.168.3.83 openEuler 24.03 (LTS) 6.6.0-28.0.0.34.oe2403.x86_64 tududi 26.1.3

三、本地环境检查

3.1 检查系统版本

检查当前系统版本,当前系统版本为openEuler 24.03 (LTS)

[root@openEuler-server ~]# cat /etc/os-release
NAME="openEuler"
VERSION="24.03 (LTS)"
ID="openEuler"
VERSION_ID="24.03"
PRETTY_NAME="openEuler 24.03 (LTS)"
ANSI_COLOR="0;31"

3.2 检查内核版本

检查当前内核版本,如下所示:

[root@openEuler-server ~]#  uname -r
6.6.0-28.0.0.34.oe2403.x86_64

3.3 检查本地IP

查看本地IP地址,本次实践本地IP设置为192.168.3.83/24

[root@openEuler-server ~]# ifconfig ens18
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.83  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::be24:11ff:feaa:bfa5  prefixlen 64  scopeid 0x20<link>
        ether bc:24:11:aa:bf:a5  txqueuelen 1000  (Ethernet)
        RX packets 1267  bytes 134016 (130.8 KiB)
        RX errors 0  dropped 64  overruns 0  frame 0
        TX packets 321  bytes 36697 (35.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

3.4 检查Docker环境

  • 检查Docker版本
[root@openEuler-server ~]# docker -v
Docker version 26.1.3, build b72abbb

四、部署tududi项目

4.1 下载Docker镜像

执行以下命令,拉取tududi的容器镜像。

docker pull chrisvel/tududi:0.80

在这里插入图片描述

4.2 创建部署目录

执行以下命令,创建部署目录。

 mkdir -p /data/tududi/{db,uploads} && cd /data/tududi

4.3 docker-cli方式部署(可选)

  • 如果想要使用docker-cli方式部署,可参考以下命令:
docker run \
  -e TUDUDI_USER_EMAIL=myemail@example.com \
  -e TUDUDI_USER_PASSWORD=mysecurepassword \
  -e TUDUDI_SESSION_SECRET=$(openssl rand -hex 64) \
  -e TUDUDI_ALLOWED_ORIGINS=https://tududi,http://tududi:3002 \
  -e PUID=1001 \
  -e GUID=1001 \
  -v ~/tududi_db:/app/backend/db \
  -v ~/tududi_uploads:/app/backend/uploads \
  -p 3002:3002 \
  -d  chrisvel/tududi:0.80

4.4 编辑部署文件

本次实践我们使用docker compose方式部署,新建及编辑以下docker-compose.yaml文件。

 vim docker-compose.yaml
version: '3.8'

services:
  tududi:
    image: chrisvel/tududi:0.80
    container_name: tududi
    environment:
      # 登录邮箱
      TUDUDI_USER_EMAIL: myemail@example.com

      # 登录密码(请替换为更安全的密码)
      TUDUDI_USER_PASSWORD: admin

      # 会话密钥:使用随机生成的64字节十六进制字符串
      # 可在启动前通过命令生成:openssl rand -hex 64
      TUDUDI_SESSION_SECRET: bef42eb710036b4d38771e695353c5f397736d5a43aa31d319ed011ee0cb0d4603b03a2f4825581fa24dae5d72a985578e1650ad73af70c548b16b6c641e8ca0

      # 允许的跨域来源(CORS)
      # 必须包含宿主机IP:端口,否则前端无法通信
      TUDUDI_ALLOWED_ORIGINS: http://192.168.3.83:3002,http://localhost:3002

      # 使用 root 用户权限运行(UID=0, GID=0)
      PUID: 0
      PGID: 0

    ports:
      - "3002:3002"  # 映射宿主机3002端口

    volumes:
      - /data/tududi/db:/app/backend/db           # 数据库持久化
      - /data/tududi/uploads:/app/backend/uploads # 文件上传目录

    restart: unless-stopped

    # 健康检查(可选)
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3002"]
      interval: 30s
      timeout: 10s
      retries: 3

4.5 部署tududi

执行以下docker compose up -d命令,部署tududi应用。

docker compose up -d

在这里插入图片描述

4.6 检查容器状态

检查tududi容器状态,确保tududi容器正常启动。

[root@openEuler-server tududi]# docker compose ps
WARN[0000] /data/tududi/docker-compose.yaml: `version` is obsolete
NAME      IMAGE                  COMMAND                  SERVICE   CREATED              STATUS                        PORTS
tududi    chrisvel/tududi:0.80   "/app/scripts/docker…"   tududi    About a minute ago   Up About a minute (healthy)   0.0.0.0:3002->3002/tcp, :::3002->3002/tcp

4.7 检查容器日志

检查容器运行日志,确保tududi服务正常运行。

 docker compose logs

在这里插入图片描述

五、访问tududi服务

5.1 安全设置

  • 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  • 停止本地防火墙
systemctl stop firewalld
systemctl disable firewalld

5.2 访问首页

访问地址:http://《服务器IP地址》:3002,将IP替换为自己服务器IP地址,进入到tududi登录页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

使用我们在部署文件中定义的邮箱账号登录,如下所示:

在这里插入图片描述

在这里插入图片描述

六、tududi基本使用

6.1 基本使用体验

  • 创建项目和任务:选择项目模块,确定项目名称后,可逐一添加任务事项。

在这里插入图片描述

  • 笔记功能:可在笔记模块,新增及编辑笔记内容,如下所示:

在这里插入图片描述

在这里插入图片描述

6.2 查看容器使用资源

通过 docker stats tududi 可以清晰地看到该容器仅占用极少量的 CPU 和内存资源(如 42.31MiB / 7.163GiB),表明其运行轻量高效。 这种低资源占用充分体现了容器化技术的优势,能够在保证服务运行的同时极大提升宿主机的资源利用率。

docker stats tududi

在这里插入图片描述

七、总结

本次实践成功在华为openEuler系统上完成了tududi个人任务管理工具的部署与运行,验证了其良好的兼容性与稳定性。通过Docker容器化方式,实现了应用的快速部署与资源隔离,显著提升了环境搭建效率。实际运行数据显示,tududi容器资源占用极低,运行流畅,满足轻量高效的任务管理需求。该实践不仅展示了openEuler系统在应用承载方面的优势,也为基于华为根技术构建个人数字化工作环境提供了可行方案。


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。