【Docker项目实战】使用Docker部署RSS阅读器fusion

举报
江湖有缘 发表于 2024/10/28 19:26:57 2024/10/28
【摘要】 【Docker项目实战】使用Docker部署RSS阅读器fusion

一、fusion介绍

1.1 fusion简介

fusion是一款轻量级的RSS订阅聚合器和阅读器,旨在为用户提供简洁高效的新闻和内容订阅体验。该工具通过简单的界面和强大的功能,帮助用户轻松管理和阅读来自不同来源的RSS、Atom和JSON格式的内容流。

1.2 主要特点

  • 分组、书签和搜索功能:允许用户对订阅源进行分类管理,并快速查找特定内容。
  • 自动嗅探订阅源:能够自动检测并添加新的RSS或Atom订阅源。
  • 导入/导出OPML文件:方便用户迁移和备份订阅列表。
  • 支持多种订阅类型:兼容RSS、Atom和JSON格式的订阅源。
  • 响应式设计与暗黑模式:提供良好的移动端支持及可切换的主题模式。
  • PWA支持:可以作为渐进式Web应用安装,离线访问更加便捷。
  • 轻量级且自托管友好:基于Golang和SQLite构建,部署简单,资源消耗低。
  • 单个二进制文件部署:只需一个可执行文件即可运行整个应用。
  • 预构建Docker镜像:提供了Docker镜像,便于容器化部署。
  • 低内存占用:仅使用约80MB的内存,非常适合资源受限的环境。

1.3 使用场景

  • 个人新闻订阅:用户可以订阅多个新闻网站的RSS源,通过Fusion在一个简洁的界面中集中阅读最新的新闻报道。
  • 博客爱好者:博客读者可以将自己喜欢的技术博客或个人博客添加到Fusion中,方便地跟踪和阅读最新发布的文章。
  • 科研人员:研究人员可以订阅学术期刊和会议的RSS源,及时获取最新的研究成果和行业动态。
  • 企业内部通讯:公司可以使用Fusion自托管版本,为员工提供一个集中的平台来订阅公司公告、部门更新和内部知识库。
  • 教育领域:教师和学生可以利用Fusion订阅教育相关的资源和课程更新,保持对学习材料的最新了解。
  • 技术社区成员:开发者和技术爱好者可以订阅GitHub、Stack Overflow等技术社区的RSS源,快速获取最新的代码更新和技术讨论。

二、本次实践规划

2.1 本地环境规划

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

hostname IP地址 操作系统版本 Docker版本 镜像版本
jeven01 192.168.3.88 Ubuntu 22.04.1 LTS 27.1.1 latest

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署fusion应用。

三、本地环境检查

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

四、下载fusion镜像

拉取fusion镜像,镜像名称为:rook1e404/fusion:latest

root@jeven01:~#  docker pull rook1e404/fusion:latest
latest: Pulling from rook1e404/fusion
903681d87777: Already exists
9405463da52e: Pull complete
62ac90d3da4e: Pull complete
8f84b9e5d49b: Pull complete
b6133ea9ceff: Pull complete
Digest: sha256:1ec02281ad167051fdb5b887d0b5671180ad41770e5ef2bbeba87cbc79f8bd62
Status: Downloaded newer image for rook1e404/fusion:latest
docker.io/rook1e404/fusion:latest

五、部署fusion应用

5.1 创建部署目录

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

5.2 编辑部署文件

  • 如果使用docker-cli部署,可参考以下命令:
docker run -it -d -p 8082:8080 -v $(pwd)/fusion:/data \
      -e PASSWORD="admin" \
      rook1e404/fusion:latest

在`部署目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。

vim docker-compose.yaml
version: '3'
services:
  fusion:
    image: rook1e404/fusion:latest
    ports:
      - '8082:8080'
    environment:
      - PASSWORD=admin
    restart: "unless-stopped"
    volumes:
      - ./data:/data

     

5.3 创建fusion容器

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

root@jeven01:/data/fusion# docker compose up -d
[+] Running 2/2
 ✔ Network fusion_default     Created                                                                                                                    0.1s
 ✔ Container fusion-fusion-1  Started                                                                                                                    0.3s

5.4 查看fusion容器状态

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

root@jeven01:/data/fusion# docker compose ps
NAME                IMAGE                     COMMAND             SERVICE             CREATED             STATUS              PORTS
fusion-fusion-1     rook1e404/fusion:latest   "./fusion"          fusion              30 seconds ago      Up 29 seconds       0.0.0.0:8082->8080/tcp, :::8082->8080/tcp

5.5 查看fusion容器日志

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

root@jeven01:/data/fusion# docker compose logs
fusion-fusion-1  | cannot find .env, skip
fusion-fusion-1  | ⇨ http server started on [::]:8080

在这里插入图片描述

六、访问fusion服务

6.1 访问fusion主页

访问地址:http://192.168.3.88:8082,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。

在这里插入图片描述

输入我们设置的默认访问密码admin,进入fusion主页。

在这里插入图片描述

6.2 订阅RSS

选择新建RSS源,填写相关信息后,即可访问订阅的文章内容。

在这里插入图片描述

在这里插入图片描述

6.3 查看订阅效果

选择“ALL”模块下,可以看到刚才添加的知乎精选RSS订阅源。

在这里插入图片描述

在这里插入图片描述

七、总结

通过使用Docker部署RSS阅读器Fusion,我深刻体验到了这款轻量级工具的简洁高效和强大功能。Fusion不仅提供了直观的界面来管理和阅读来自不同来源的RSS、Atom和JSON格式的内容流,还支持自托管和多种主题模式,提升了用户体验。Docker的使用使得部署过程变得极其简单,只需几条命令即可在任何环境中快速启动Fusion。这次实践不仅展示了Fusion的易用性和灵活性,还突显了Docker在简化应用部署方面的巨大优势。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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