【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
AI 代码解读

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701
AI 代码解读

3.3 检查docker compose 版本

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

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0
AI 代码解读

四、下载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
AI 代码解读

五、部署tududi

5.1 创建部署目录

创建部署目录

[root@jeven ~]# mkdir -p /data/tududi
[root@jeven ~]# cd /data/tududi/
AI 代码解读

5.2 使用docker-cli创建tududi容器

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

openssl rand -hex 64
AI 代码解读

在这里插入图片描述

使用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
AI 代码解读

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
AI 代码解读

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
    
    AI 代码解读

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
AI 代码解读

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
AI 代码解读

在这里插入图片描述

六、访问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。

目录
打赏
0
3
5
1
1262
分享
相关文章
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
194 91
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
Stirling-PDF 是一款基于 Docker 的本地化 PDF 编辑工具,支持 50 多种 PDF 操作,包括合并、拆分、转换、压缩等,同时提供多语言支持和企业级功能,满足个人和企业用户的多样化需求。
56 6
Stirling-PDF:51.4K Star!用Docker部署私有PDF工作站,支持50多种PDF操作,从此告别在线工具
docker快速部署OS web中间件 数据库 编程应用
通过Docker,可以轻松地部署操作系统、Web中间件、数据库和编程应用。本文详细介绍了使用Docker部署这些组件的基本步骤和命令,展示了如何通过Docker Compose编排多容器应用。希望本文能帮助开发者更高效地使用Docker进行应用部署和管理。
36 19
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
258 93
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
58 23
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
268 15
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
322 78
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
187 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等