【Docker项目实战】使用Docker部署hoarder书签管理应用
一、hoarder介绍
1.1 Hoarder 简介
Hoarder
是一款可自托管的书签应用程序,它不仅能够帮助用户收藏链接、笔记、图片和PDF文档,还具备基于AI的自动标记和全文搜索功能。Hoarder 强调自托管,确保用户的数据安全和隐私。此外,它还提供了丰富的功能,如自动抓取链接元数据、OCR文字提取、RSS订阅自动收藏等,旨在为用户提供一个强大且灵活的信息管理解决方案。
1.2 主要特点
- 多功能收藏:支持收藏网页链接、撰写简单笔记、存储图片和PDF文档。
- 自动化处理:自动抓取链接的标题、描述和图片,简化收藏流程。
- 智能分类:将书签分类到不同的列表中,保持条理清晰。
- 全文搜索与AI标签:支持对所有存储内容进行全文搜索,并利用AI技术自动为内容打标签,提高查找效率。
- OCR文字提取:能够从图片中提取文本,增加信息的可用性。
- 浏览器插件:提供Chrome插件和Firefox扩展,方便快速添加书签。
- 移动应用:拥有iOS和Android应用,实现跨设备同步。
- RSS订阅:自动从RSS源收集内容,节省手动收藏的时间。
- REST API:提供REST API接口,便于与其他应用集成。
- 全页归档:使用monolith工具对网页进行全页归档,防止链接失效;支持使用youtube-dl自动归档视频。
- 批量操作:支持批量管理书签,提高管理效率。
- 单点登录:支持SSO(Single Sign-On)功能,简化登录过程。
- 暗黑模式:提供暗黑模式,改善夜间使用体验。
- 自托管优先:强调自托管,确保用户数据的隐私和安全。
- 离线阅读(计划中):计划支持内容下载,以便在无网络环境下阅读。
1.3 主要使用场景
- 学习与研究:适用于学生和研究人员,帮助他们收藏和整理学习资料、研究报告、文献等。
- 创意工作:设计师、作家等创意工作者可以使用Hoarder来收集灵感,保存设计草图、文章片段、色彩搭配等。
- 项目管理:团队成员可以共同使用Hoarder,记录项目进度、会议纪要和重要决策,促进团队协作。
- 个人知识库:适合任何希望构建个人数字图书馆的人,无论是日常生活中的实用技巧,还是兴趣爱好方面的深入探索。
- 内容创作:博主、自媒体人可以利用Hoarder收集素材,为写作、视频制作等提供丰富的内容支持。
- 资讯跟踪:通过RSS订阅功能,持续关注特定领域的最新动态和资讯。
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | Docker版本 | 镜像名称 |
---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 27.1.1 | ncarlier/readflow:edge |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署hoarder书签管理应用。
三、本地环境检查
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
四、下载hoarder镜像
执行以下命令,拉取以下hoarder相关镜像。
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/hoarder:release
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/alpine-chrome:123
docker pull registry.cn-hangzhou.aliyuncs.com/jeson/meilisearch:v1.11.1
五、部署hoarder应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/hoarder && cd /data/hoarder
5.2 编辑部署文件
在`部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。
version: "3.8"
services:
web:
image: registry.cn-hangzhou.aliyuncs.com/jeson/hoarder:release
restart: unless-stopped
volumes:
- data:/data
ports:
- 3000:3000
env_file:
- .env
environment:
MEILI_ADDR: http://meilisearch:7700
BROWSER_WEB_URL: http://chrome:9222
# OPENAI_API_KEY: ...
DATA_DIR: /data
chrome:
image: registry.cn-hangzhou.aliyuncs.com/jeson/alpine-chrome:123
restart: unless-stopped
command:
- --no-sandbox
- --disable-gpu
- --disable-dev-shm-usage
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
meilisearch:
image: registry.cn-hangzhou.aliyuncs.com/jeson/meilisearch:v1.11.1
restart: unless-stopped
env_file:
- .env
environment:
MEILI_NO_ANALYTICS: "true"
volumes:
- meilisearch:/meili_data
volumes:
meilisearch:
data:
5.3 创建hoarder容器
执行以下命令,创建hoarder容器。
docker compose up -d
5.4 查看hoarder容器状态
检查hoarder容器状态状态,确保hoarder容器正常启动。
root@jeven01:/data/hoarder# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
hoarder-chrome-1 registry.cn-hangzhou.aliyuncs.com/jeson/alpine-chrome:123 "chromium-browser --…" chrome About an hour ago Up About an hour
hoarder-meilisearch-1 registry.cn-hangzhou.aliyuncs.com/jeson/meilisearch:v1.11.1 "tini -- /bin/sh -c …" meilisearch About an hour ago Up About an hour 7700/tcp
hoarder-web-1 registry.cn-hangzhou.aliyuncs.com/jeson/hoarder:release "/init" web About an hour ago Up About an hour (healthy) 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp
六、访问hoarder服务
6.1 访问hoarder初始页
访问地址:http://192.168.3.88:3000,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
6.2 注册账号
点击"Sign up" ,开始注册账号,进入账号注册页面。
自定义注册账号即可,填写账号密码信息。
注册账号完毕后,重新回到登录页,登录即可。
七、hoarder的基本使用
7.1 添加网站
将自己的博客网址粘贴到Bookmarks中,如下所示:
可以看到已经成功添加添加网站地址,点击书签即可跳转到网站。
7.2 编辑标签
点击"Edit Tags",编辑该书签标签。
编辑好自定义标签后,回车键确认即可。
7.3 添加列表
点击“list”旁的“+”,新建列表。
7.4 将书签加入列表
点击书签的“Manager Lists”功能,选择刚子新建的“个人博客”列表合集。
可以看到在“个人博客”书签列表中吗,看到加入的书签了。
7.5 搜索功能
搜索书签:搜索栏中输入tag标签,很快出现对于的书签。
八、总结
在使用Docker部署Hoarder书签管理应用的过程中,我深刻体会到了其便捷性和高效性。通过简单的命令行操作,即可快速搭建起一个功能全面的书签管理系统,极大地简化了部署流程。Hoarder的自托管特性让人安心,确保了我的数据完全掌控在自己手中,而其丰富的功能如自动标记和全文搜索则显著提升了信息管理的效率。
- 点赞
- 收藏
- 关注作者
评论(0)