【Docker项目实战】使用Docker部署Haptic笔记管理工具
@TOC
一、Haptic介绍
1.1 Haptic简介
Haptic
是一个本地优先、注重隐私的开源 Markdown 笔记管理工具。它设计简洁、轻量且高效,专注于提供用户所需的核心功能,而不会添加不必要的复杂性。Haptic 的目标是为用户提供一个安全可靠的地方来存储和管理他们的笔记,同时确保数据的私密性和完整性。
1.2 Haptic特点
-
本地优先:
- 所有数据默认存储在用户的本地设备上,无需依赖云端服务。
- 支持离线使用,即使没有互联网连接也能访问和编辑笔记。
-
隐私保护:
- 无须注册账户,减少了个人信息泄露的风险。
- 不会收集或传输用户的笔记内容到第三方服务器。
-
开源软件:
- 源代码公开透明,任何人都可以查看、审核甚至贡献改进。
- 开源社区的支持意味着软件能够持续发展并获得新的特性。
-
Markdown 支持:
- 完全兼容 Markdown 格式,支持丰富的文本格式化选项。
- 提供实时预览功能,方便用户即时看到排版效果。
-
简约界面:
- 用户界面干净、直观,减少干扰,让用户专注于写作。
- 快速导航和搜索功能,轻松找到所需笔记。
-
跨平台:
- 可能在多种操作系统(如 Windows, macOS, Linux)上运行。
- 数据同步机制允许用户在不同设备间保持笔记一致。
-
自定义与扩展:
- 允许用户根据自己的喜好调整界面风格。
- 通过插件系统支持额外的功能和定制。
1.3 主要使用场景
- 个人知识管理:对于需要记录日常想法、学习资料或项目笔记的人来说,Haptic 提供了一个结构化的方式来整理这些信息。
- 技术文档编写:程序员和技术人员可以利用 Haptic 来撰写技术文档、教程或是维护项目日志。
- 作家和博客作者:适合那些希望有一个简单工具来起草文章草稿,并能以 Markdown 格式导出的写作者。
- 学生笔记:学生可以用它来整理课堂笔记、研究材料和个人复习指南。
- 科研工作者:研究人员可以用来记录实验结果、文献综述和其他重要信息。
- 团队协作:虽然 Haptic 主要是单人使用的工具,但通过共享文件夹等方式,也可以用于小规模的团队协作。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像版本 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | v0.1.4 |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署Haptic笔记管理工具。
三、本地环境检查
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 Mon 2024-09-09 10:43:35 CST; 3 weeks 5 days ago
Docs: https://docs.docker.com
Main PID: 695 (dockerd)
Tasks: 135 (limit: 9387)
Memory: 4.0G
CPU: 46min 46.854s
CGroup: /system.slice/docker.service
├─ 695 /usr/bin/dockerd
├─ 846 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
四、下载Haptic镜像
拉取Haptic镜像,镜像名称为:
chroxify/haptic-web:v0.1.4
。
root@jeven01:~# docker pull chroxify/haptic-web:v0.1.4
v0.1.4: Pulling from chroxify/haptic-web
e4fff0779e6d: Already exists
57bfd8b087cd: Pull complete
955fc5fe26b2: Pull complete
8f50a2be0867: Pull complete
29852a384601: Pull complete
b4872c95011a: Pull complete
4f5185938b7c: Pull complete
4c6462cbaaaf: Pull complete
fb62c4e3c9ab: Pull complete
736fffd73589: Pull complete
Digest: sha256:fd8c09f777c177f9c6fc86acfb81ca9dd8cfa3c64ff379af8be6049ead0d5b97
Status: Downloaded newer image for chroxify/haptic-web:v0.1.4
docker.io/chroxify/haptic-web:v0.1.4
五、部署Haptic应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/haptic && cd /data/haptic
5.2 编辑部署文件
- 如果使用docker-cli部署,可参考以下命令:
docker run -d \
--restart always \
--name haptic \
-p 8900:80 \
chroxify/haptic-web:v0.1.4
在`部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
vim docker-compose.yaml
version: '3'
services:
haptic:
image: chroxify/haptic-web:v0.1.4
container_name: haptic
restart: always
ports:
- 8900:80
5.3 创建Haptic容器
执行以下命令,创建Haptic容器。
root@jeven01:/data/haptic# docker compose up -d
[+] Running 2/2
✔ Network haptic_default Created 0.1s
✔ Container haptic Started 0.3s
5.4 查看Haptic容器状态
检查Haptic容器状态状态,确保Haptic容器正常启动。
root@jeven01:/data/haptic# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
haptic chroxify/haptic-web:v0.1.4 "/docker-entrypoint.…" haptic 2 minutes ago Up 2 minutes 0.0.0.0:8900->80/tcp, :::8900->80/tcp
5.5 查看Haptic容器日志
检查Haptic容器日志,确保Haptic服务正常运行。
docker compose logs
六、访问Haptic服务
访问地址:http://192.168.3.88:8900,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
七、Haptic基本使用
7.1 新建笔记
- 在左上角中,点击新建文件夹。
- 重命名文件夹,这里命名为Linux。
- 在该文件夹下新建笔记
7.2 编辑笔记内容
在右侧编辑器内,编辑文章内容。
7.3 日记模块
Haptic支持日记模式,选择“Daily desk”,进入日记模块。
7.4 任务模块
Haptic支持任务管理模式,选择“Tasks”,进入任务模块。
八、总结
通过使用Docker部署Haptic笔记管理工具,我们体验到了容器化带来的便捷性和高效性。整个部署过程简洁流畅,只需几条命令即可快速搭建起一个本地优先且注重隐私的Markdown笔记环境。Haptic在Docker中的运行稳定可靠,不仅简化了安装步骤,还确保了跨平台的一致性,极大地提升了我的笔记管理和写作效率。此外,Docker的隔离特性让我不必担心系统依赖问题,使得维护和更新变得更加轻松。
- 点赞
- 收藏
- 关注作者
评论(0)