【Docker项目实战】使用Docker部署hoarder书签管理应用

举报
江湖有缘 发表于 2024/12/27 13:17:39 2024/12/27
【摘要】 【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的自托管特性让人安心,确保了我的数据完全掌控在自己手中,而其丰富的功能如自动标记和全文搜索则显著提升了信息管理的效率。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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