【Docker项目实战】使用Docker部署tududi个人任务管理工具

简介: 【6月更文挑战第2天】使用Docker部署tududi个人任务管理工具

一、tududi介绍

1.1 tududi简介

  • Ttududi简介

tududi是使用 Sinatra 构建的任务和项目管理 Web 应用程序。它允许用户有效地管理他们的任务和项目,将它们分类到不同的区域,并跟踪截止日期。 设计直观且易于使用,为个人工作效率提供无缝体验。

1.2 tududi特点

  • 任务管理:创建、更新和删除任务。将任务标记为已完成,并通过不同的筛选器(今天、即将到来、有一天)查看它们。按名称、截止日期、创建日期或优先级对它们进行排序。
  • 快速注释:创建、更新、删除文本注释或将文本注释分配给项目。
  • 标签:为任务和笔记创建标签。
  • 项目跟踪:将任务组织到项目中。每个项目可以包含多个任务和/或多个注释。
  • 区域分类:将项目分组到区域中,以便更好地组织和关注。
  • 截止日期跟踪:设置任务的截止日期,并根据截止日期类别查看它们。
  • 响应式设计(进行中):可从各种设备访问,确保跨台式机、平板电脑和移动电话的一致体验。

1.3 tududi使用场景

  • 个人任务管理:使用 tududi 可以帮助个人有效地管理任务和项目,将它们分类到不同的区域,并设定截止日期。用户可以快速查看任务的进度和优先级,以及完成情况。

  • 团队协作:tududi 还支持多用户协作,团队成员可以在应用程序中创建和分配任务,以及跟踪任务的进度。团队成员可以通过应用程序实时更新任务状态和留言,以便更好地沟通和合作。

  • 项目管理:tududi 可以用作项目管理工具,用户可以创建项目,并将相关的任务分配给不同的团队成员。tududi 还可以跟踪项目的进度和截止日期,以确保项目按时交付。

  • 学生学习:学生可以使用 tududi 来管理课程作业和项目。他们可以创建不同的区域来组织各种作业,例如数学,英语等。学生可以设置作业的截止日期,并通过应用程序跟踪他们的进度。

  • 个人目标追踪:tududi 还可以用作个人目标追踪工具。用户可以创建各种目标,并跟踪目标的进度和截止日期。用户可以通过应用程序中的图表和统计信息,了解他们的目标完成情况并进行调整。

    二、本地环境介绍

    2.1 本地环境规划

    本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
jeven 192.168.3.166 centos 7.6 20.10.17

2.2 本次实践介绍

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

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

[root@jeven mirotalksfu]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2024-02-06 14:02:53 CST; 4 days ago
     Docs: https://docs.docker.com
 Main PID: 11739 (dockerd)
    Tasks: 10
   Memory: 1.5G
   CGroup: /system.slice/docker.service
           └─11739 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载tududi镜像

从docker hub拉取tududi镜像

[root@jeven ~]# docker pull chrisvel/tududi:0.17
0.17: Pulling from chrisvel/tududi
Digest: sha256:d4579124d25c97cc81cb6e0667eba22984bc89f0fc8d095eeb80ff4bd326d2eb
Status: Image is up to date for chrisvel/tududi:0.17
docker.io/chrisvel/tududi:0.17

五、部署tududi

5.1 创建部署目录

创建部署目录

[root@jeven ~]# mkdir -p /data/tududi
[root@jeven ~]# cd /data/tududi/

5.2 使用docker-cli创建tududi容器

生成一个随机的哈希值以将其用作TUDUDI_SESSION_SECRET的值

openssl rand -hex 64

在这里插入图片描述

使用docker-cli快速部署tududi容器

docker run \
-e TUDUDI_USER_EMAIL=myemail@example.com \
-e TUDUDI_USER_PASSWORD=admin \
-e TUDUDI_SESSION_SECRET=ce0a9ecad8c74b004002f8f5eb46bd123e10f96c7888b05fe18bc4ddc69a181d3ba6f863ea8b02533a284b24639608ec5a682557ce8f7cf0651a819e4a5fc6da \
-e TUDUDI_INTERNAL_SSL_ENABLED=true \
-v ~/tududi_db:/usr/src/app/tududi_db \
-p 8966:9292 \
-d chrisvel/tududi:0.17

5.3 编辑docker-compose.yaml文件

本次实践使用docker compose方式运行tududi容器,编辑docker-compose.yaml文件内容如下:

version: '3'
services:
  tududi:
    image: chrisvel/tududi:0.17
    environment:
      - TUDUDI_USER_EMAIL=myemail@example.com
      - TUDUDI_USER_PASSWORD=admin
      - TUDUDI_SESSION_SECRET=ce0a9ecad8c74b004002f8f5eb46bd123e10f96c7888b05fe18bc4ddc69a181d3ba6f863ea8b02533a284b24639608ec5a682557ce8f7cf0651a819e4a5fc6da
      - TUDUDI_INTERNAL_SSL_ENABLED=true
    volumes:
      - ~/tududi_db:/usr/src/app/tududi_db
    ports:
      - 8966:9292

5.3 运行tududi容器

  • 使用docker-compose.yaml文件创建tududi容器
    [root@jeven tududi]# docker compose up -d
    [+] Running 2/2
    ⠿ Network tududi_default     Created                                                                                                           0.0s
    ⠿ Container tududi-tududi-1  Started                                                                                                           0.8s
    

5.4 检查tudud容器状态

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

[root@jeven tududi]# docker compose ps
NAME                COMMAND                  SERVICE             STATUS              PORTS
tududi-tududi-1     "/bin/sh -c 'rake db…"   tududi              running             0.0.0.0:8966->9292/tcp, :::8966->9292/tcp

5.5 检查tudud容器日志

检查tudud容器运行状态,确保tudud服务正常运行。

[root@jeven tududi]# docker compose logs
tududi-tududi-1  | Puma starting in single mode...
tududi-tududi-1  | * Puma version: 6.4.0 (ruby 3.2.2-p53) ("The Eagle of Durango")
tududi-tududi-1  | *  Min threads: 0
tududi-tududi-1  | *  Max threads: 5
tududi-tududi-1  | *  Environment: production
tududi-tududi-1  | *          PID: 8
tududi-tududi-1  | * Listening on ssl://0.0.0.0:9292?cert=certs%2Fserver.crt&key=certs%2Fserver.key&verify_mode=none
tududi-tududi-1  | Use Ctrl-C to stop

在这里插入图片描述

六、访问tududi首页

6.1 进入tududi登录页

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

在这里插入图片描述

6.2 访问tududi首页

我们在docker-compose.yml中设置的账号密码为:myemail@example.com/admin

在这里插入图片描述

七、tududi基本使用

7.1 新建任务

选择“Next Actions”,点击新增任务。

在这里插入图片描述

在这里插入图片描述

7.2 更新任务状态

点击新建任务

在这里插入图片描述

设置任务状态,有未开始,进行中,已完成,归档等选项,可以设置任务的优先级、期限等。

在这里插入图片描述
在这里插入图片描述

7.3 新建笔记

点击新建笔记选项,编辑笔记标题和笔记内容。

在这里插入图片描述
在这里插入图片描述

八、总结

tududi是一个使用Sinatra构建的任务和项目管理Web应用程序。它允许用户高效地管理任务和项目,并将它们分类到不同的区域,并跟踪截止日期。设计直观且易于使用,为个人工作提供无缝体验。tududi部署简单,界面简洁易用,是一款不错的任务管理工具。然而,在当前版本中,新建项目时可能会出现内部错误。希望未来的版本中可以修复这个bug。

相关文章
|
1月前
|
JavaScript 算法 前端开发
【Docker项目实战】使用Docker部署paopao-ce微社区
【Docker项目实战】使用Docker部署paopao-ce微社区
285 84
【Docker项目实战】使用Docker部署paopao-ce微社区
|
2月前
|
运维 Cloud Native 开发者
Docker:现代化应用开发与部署的神器
Docker:现代化应用开发与部署的神器
196 101
|
1月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
93 12
docker 部署 sftp
kde
|
14天前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
kde
348 6
|
1月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
554 6
kde
|
18天前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
kde
632 8
kde
|
17天前
|
存储 关系型数据库 MySQL
MySQL Docker 容器化部署全指南
MySQL是一款开源关系型数据库,广泛用于Web及企业应用。Docker容器化部署可解决环境不一致、依赖冲突问题,实现高效、隔离、轻量的MySQL服务运行,支持数据持久化与快速迁移,适用于开发、测试及生产环境。
kde
185 4
|
22天前
|
关系型数据库 MySQL Linux
事项驱动的项目管理工具Dectask的Docker安装教程
Dectask是智能驱动的新一代项目协作工具,本人介绍其Docker安装教程。
65 2
|
1月前
|
前端开发 JavaScript 应用服务中间件
在Docker部署的前端应用中使用动态环境变量
以上步骤展示了如何在 Docker 配置过程中处理并注入环墨遁形成可执行操作流程,并确保最终用户能够无缝地与之交互而无须关心背后复杂性。
117 13
|
1月前
|
存储 Kubernetes 持续交付
为什么Docker容器化改变了开发与部署?
为什么Docker容器化改变了开发与部署?

热门文章

最新文章