【Docker项目实战】使用Docker部署Beaver Habit Tracker习惯追踪应用

举报
江湖有缘 发表于 2025/03/31 13:45:10 2025/03/31
【摘要】 【Docker项目实战】使用Docker部署Beaver Habit Tracker习惯追踪应用


一、Beaver Habit Tracker 介绍

1.1 Beaver Habit Tracker 简介

Beaver Habit Tracker 提供了一个平台,让用户可以自行托管并完全控制自己的数据。这意味着用户的隐私得到了极大的保护,因为所有的数据都存储在用户自己的服务器上而不是第三方服务商那里。该应用非常适合那些重视隐私并且想要深入了解自身习惯的个人或团队使用。

1.2 主要特点

  1. 自托管:用户可以在自己的服务器上安装和运行Beaver Habit Tracker,确保所有数据都在自己的掌控之中。
  2. 无目标设定:与其他习惯追踪应用不同的是,Beaver Habit Tracker不强调设置具体的目标,而是关注于习惯本身的形成和维持。
  3. 高度可定制性:用户可以根据自己的需要定制界面和功能,适应不同的使用场景和个人偏好。
  4. 数据可视化:提供直观的数据图表来展示习惯的变化和发展趋势,有助于用户更好地理解自己的行为模式。
  5. 开源:作为一款开源软件,Beaver Habit Tracker拥有活跃的社区支持,用户可以根据自己的需求修改代码或者贡献新的功能。

1.3 使用场景

  • 个人成长:对于希望了解和改进自己生活习惯的人来说,Beaver Habit Tracker是一个非常好的选择。无论是睡眠、饮食还是运动习惯,都可以轻松追踪。
  • 心理健康管理:可以帮助用户记录情绪波动和触发因素,有助于发现潜在的心理健康问题,并采取相应措施。
  • 工作学习效率提升:用于追踪工作或学习时的习惯,如专注时间、休息间隔等,从而找到最有效的工作学习模式。
  • 团队合作:虽然主要是为个人设计,但在某些情况下,也可以被团队用来共享和优化共同的工作习惯和流程。

二、本次实践规划

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。

hostname IP地址 操作系统版本 Docker版本 部署项目
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 PairDrop

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Beaver Habit Tracker习惯追踪应用。

三、本地环境检查

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; 2 weeks 4 days ago
       Docs: https://docs.docker.com
   Main PID: 10450 (dockerd)
      Tasks: 60 (limit: 9387)
     Memory: 1.8G
        CPU: 33min 54.335s
     CGroup: /system.slice/docker.service

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

四、下载Beaver Habit Tracker镜像

拉beaverhabits镜像,拉取相镜像如下所示:

root@jeven01:~# docker pull daya0576/beaverhabits:0.4.5
0.4.5: Pulling from daya0576/beaverhabits
af302e5c37e9: Pull complete
b104796da756: Pull complete
33aba9ea636c: Pull complete
ba87f29332ff: Pull complete
ff1761469126: Pull complete
6a78d3ea1999: Pull complete
0b9affbd0d39: Pull complete
9e7f7d730afc: Pull complete
4ef05b61b56f: Pull complete
9fd82b0535cd: Pull complete
ef7a4ca21665: Pull complete
Digest: sha256:c3a865e4b0c2e4b088c13ad8998deedb6005f8e59a1a73b6d1126e95d7f587f0
Status: Downloaded newer image for daya0576/beaverhabits:0.4.5
docker.io/daya0576/beaverhabits:0.4.5

五、部署Beaver Habit Tracker应用

5.1 创建部署目录

  • 创建部署目录
mkdir -p /data/beaverhabits  &&  cd /data/beaverhabits

5.2 编辑部署文件

  • 如果使用docker-cli部署,可使用以下命令。(可选)
docker run -d --name beaverhabits \
  -u $(id -u):$(id -g) \
  -e HABITS_STORAGE=USER_DISK \
  -v  /data/beaverhabits/data:/app/.user/ \
  -p 8080:8080 \
  daya0576/beaverhabits:latest

在`部署目录下,创建docker-compose.yaml文件,如下所示:

vim docker-compose.yaml
services:
    beaverhabits:
        container_name: beaverhabits
        user: 0:0 # User permissions of your docker or default user.
        environment:
            # See the note below to find all the environment variables
            - HABITS_STORAGE=USER_DISK # DATABASE stores in a single SQLite database named habits.db. USER_DISK option saves in a local json file.
            # Skip authentication
#            - TRUSTED_LOCAL_EMAIL=<your@email.address>
        volumes:
            -  /data/beaverhabits/data:/app/.user/ # Change directory to match your docker file scheme.
        ports:
            - 9080:8080
        restart: unless-stopped
        image: daya0576/beaverhabits:0.4.5

5.3 创建beaverhabits容器

执行以下命令,创建beaverhabits容器。

root@jeven01:/data/beaverhabits# docker compose up -d
[+] Running 2/2
 ✔ Network beaverhabits_default  Created                                                                                                          0.1s
 ✔ Container beaverhabits        Started                                                                                                          0.2s

在这里插入图片描述

5.4 查看beaverhabits容器状态

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

root@jeven01:/data/beaverhabits# docker compose ps
NAME                IMAGE                         COMMAND             SERVICE             CREATED             STATUS              PORTS
beaverhabits        daya0576/beaverhabits:0.4.5   "sh start.sh prd"   beaverhabits        36 seconds ago      Up 35 seconds       0.0.0.0:9080->8080/tcp, :::9080->8080/tcp

5.5 查看beaverhabits容器日志

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

root@jeven01:/data/beaverhabits# docker compose logs
beaverhabits  | Starting Uvicorn server in production mode...
beaverhabits  | INFO:     Starting BeaverHabits...
beaverhabits  | INFO:     Started server process [9]
beaverhabits  | INFO:     Waiting for application startup.
beaverhabits  | INFO:     Creating database and tables
beaverhabits  | INFO:     Database and tables created
beaverhabits  | INFO:     Application startup complete.
beaverhabits  | INFO:     Uvicorn running on http://0.0.0.0:8080 (Press CTRL+C to quit)

在这里插入图片描述

六、访问Beaver Habit Tracker服务

6.1 访问初始页

浏览器地址: http://<个人的服务器IP>:9080,访问Beaver Habit Tracker服务的初始页。如果无法访问,请确保宿主机的防火墙已关闭或已放行相关端口,对于云服务器还需配置相应的安全组规则。

在这里插入图片描述

6.2 注册账号

选择创建账号,自定义填写账号信息,注册完毕后登录即可。

在这里插入图片描述

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

七、基本使用

7.1 新增习惯

我们首页中点右上角的三条杠,选择Add新增习惯:

  • Order pizz:点披萨;
  • Running:跑步;
  • Table Tennis:乒乓球;
  • Clean:打扫卫生;
  • Call mom:给妈妈打电话;

在这里插入图片描述

填写习惯后,按回车键确认即可。

在这里插入图片描述

7.2 确认习惯完成

要确认你的习惯是否已完成,可以按照以下步骤操作:

  • 访问应用主界面,可通过点击屏幕左上角的“Habits”按钮返回。
  • 在此页面中,将看到所有已设定的习惯列表。
  • 根据自己的完成情况,对相应习惯进行勾选以标记为完成。

通过Beaver Habit Tracker服务,我们可以方便地管理和跟踪自己的日常习惯完成状态。

在这里插入图片描述

八、总结

通过这次Docker项目实战,我们成功地使用Docker部署了Beaver Habit Tracker应用,探索了从环境准备到服务访问的完整流程,体验了容器化应用部署的便捷性与灵活性。过程中不仅加深了对Docker和docker-compose工具的理解,也感受到了Beaver Habit Tracker在习惯追踪方面的独特魅力和实用价值。这次实践为今后更复杂的项目奠定了坚实的基础,并展示了如何利用自托管解决方案提升个人或团队的工作效率和隐私保护水平。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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