【Docker项目实战】使用Docker部署SideQuests轻量待办事项管理工具
@TOC
一、 SideQuests介绍
1.1 SideQuests 简介
SideQuests 是一款专为提高个人生产力而设计的待办事项管理应用。它通过提供一个直观且易于使用的网页界面,帮助用户有效地组织和追踪他们的任务(Quests)与目标(Objectives)。无论是日常琐事还是长期项目规划,SideQuests 都能提供足够的灵活性来满足不同用户的需要。其简洁的设计理念结合了现代网页技术的优点,确保了在多种设备上都能获得良好的用户体验。
1.2 主要特点
- 直观友好的用户界面:采用现代化的设计语言构建,使得添加、编辑或删除任务变得极其简单。
- 拖放功能:用户可以通过简单的拖拽操作轻松地重新排列任务顺序或是将任务从一个类别移动到另一个类别,从而更灵活地管理自己的工作流程。
- 任务与目标双重体系:除了支持创建单独的任务外,还允许设置更长远的目标,并将具体任务关联至这些目标之下,帮助用户保持对大局的关注。
- 跨平台访问:作为一个基于Web的应用程序,SideQuests可以在任何支持现代浏览器的设备上运行,包括桌面电脑、平板以及智能手机等,保证了随时随地的工作效率。
- 数据安全与隐私保护:使用SQLite作为本地数据库解决方案,确保所有信息都存储于用户自己的设备中,增强了数据的安全性和私密性。
- 开源框架构建:利用Flask这一轻量级Python Web框架开发而成,意味着SideQuests不仅拥有快速响应的能力,同时也便于开发者进行扩展或定制化修改。
- 自定义选项丰富:允许用户根据喜好调整界面主题风格、字体大小等元素,以适应不同的视觉偏好和个人习惯。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像名称 | 备注 |
---|---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | need4swede/sidequests:latest | —— |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署SideQuests轻量待办事项管理工具。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# 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-11-01 00:45:50 CST; 3 weeks 0 days ago
Docs: https://docs.docker.com
Main PID: 10450 (dockerd)
Tasks: 150 (limit: 9387)
Memory: 3.4G
CPU: 46min 54.584s
CGroup: /system.slice/docker.service
├─10450 /usr/bin/dockerd
├─10459 containerd --config /var/run/docker/containerd/containerd.toml
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载SideQuests镜像
执行以下命令,拉取以下SideQuests镜像。
root@jeven01:~# docker pull need4swede/sidequests:latest
latest: Pulling from need4swede/sidequests
a2318d6c47ec: Already exists
e0175c87c1f4: Pull complete
bea1d778e3e0: Pull complete
7ce703381f53: Pull complete
5e1acd4ccdd3: Pull complete
ed799c6052db: Pull complete
d6b1c59f5bd3: Pull complete
5322b83b8dbb: Pull complete
Digest: sha256:0b4e0ddafe8344cdb8eaa9ff7d74099a88907e4b51f47b6ba371dccf0df09609
Status: Downloaded newer image for need4swede/sidequests:latest
docker.io/need4swede/sidequests:latest
五、部署SideQuests应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/sidequests && cd /data/sidequests
5.2 docker-cli方式部署(可选)
可使用以下docker-cli方式,快速部署SideQuests应用。
docker run -d \
--restart always \
--name sidequests \
-p 8600:8080 \
-v /data/sidequests/instance:/app/instance\
-e PORT=8080 \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=admin \
-e SECRET_KEY=7d441f2c9435e6a8f81b717f27ae3aca \
need4swede/sidequests:latest
5.3 编辑部署文件
本次实践使用docker compose方式部署,在部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3.9'
services:
sidequests:
image: 'need4swede/sidequests:latest'
environment:
- SECRET_KEY=7d441f2c9435e6a8f81b717f27ae3aca
- ADMIN_PASSWORD=admin
- ADMIN_USERNAME=admin
- PORT=8080
volumes:
- '/data/sidequests/instance:/app/instance\'
ports:
- '8600:8080'
container_name: sidequests
restart: always
5.4 创建SideQuests容器
执行以下命令,创建SideQuests容器。
root@jeven01:/data/sidequests# docker compose up -d
[+] Running 2/2
✔ Network sidequests_default Created 0.2s
✔ Container sidequests Started 0.3s
5.5 查看SideQuests容器状态
检查SideQuests容器状态状态,确保SideQuests容器正常启动。
root@jeven01:/data/sidequests# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
sidequests need4swede/sidequests:latest "gunicorn --bind 0.0…" sidequests 36 seconds ago Up 36 seconds 0.0.0.0:8600->8080/tcp, :::8600->8080/tcp
5.6 检查SideQuests容器日志
检查SideQuests容器日志,确保SideQuests服务正常运行。
root@jeven01:/data/sidequests# docker compose logs
sidequests | [2024-11-28 06:02:08 +0000] [1] [INFO] Starting gunicorn 23.0.0
sidequests | [2024-11-28 06:02:08 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
sidequests | [2024-11-28 06:02:08 +0000] [1] [INFO] Using worker: sync
sidequests | [2024-11-28 06:02:08 +0000] [7] [INFO] Booting worker with pid: 7
六、访问SideQuests服务
6.1 访问SideQuests首页
访问地址:http://192.168.3.88:8600,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
输入默认的账号密码admin/admin,即可进入SideQuests首页。
6.2 添加事项
在输入框内,添加待办事项,点击Add后生效,效果如下所示:
6.3 手机浏览
在手机浏览器打开页面,效果适配更佳。
七、总结
SideQuests 以直观易用的网页界面和强大的任务管理功能,显著提升了个人生产力,使用户能够轻松组织日常琐事和长期项目。拖放式的任务调整机制增加了灵活性,让用户可以根据实际情况快速改变计划。跨平台访问特性确保了无论在何处都能高效管理待办事项。简洁而现代的设计不仅美观,也极大增强了使用的便捷性和满意度。
- 点赞
- 收藏
- 关注作者
评论(0)