CommaFeed:仿Google Readerd的RSS阅读器

最近老苏身边中招的人也开始多起来了,大家要保重~

本文开始于 9 月下旬,完成于 10 月下旬,目前正式版本还是老苏打包时用的 2.6.0,不过现在已经有了 3.0.0 RC1

什么是 CommaFeed ?

CommaFeed  是受 Google Reader 启发而开发的自托管 RSS 阅读器,基于 DropwizardAngularJSCommaFeed 现在被认为是功能完整的并且处于维护模式。

CommaFeed 已经有些年头了,但老苏没找到官方的镜像,本着学习(折腾)的目的,打算自己动手构建着玩。一开始是准备基于源码构建的,但是没成功,所以退而求其次,改为基于官方发布的 jar 包进行构建

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

v1 版还整了多阶段构建,实际上也就节省了 wget 的空间

FROM openjdk:8-jdk as build
LABEL maintainer=laosu<wbsu2003@gmail.com>

RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list 
    && apt-get clean 
    && apt-get update 
    && apt-get install -y wget    


RUN wget https://ghproxy.com/github.com/Athou/commafeed/releases/download/2.6.0/commafeed.jar
RUN wget https://ghproxy.com/raw.githubusercontent.com/Athou/commafeed/2.6.0/config.yml.example -O config.yml

FROM openjdk:8-jdk
LABEL maintainer=laosu<wbsu2003@gmail.com>

VOLUME /config

COPY --from=build commafeed.jar ./commafeed.jar
COPY --from=build config.yml ./config/config.yml

EXPOSE 8082

CMD [ "java""-Djava.net.preferIPv4Stack=true""-jar""commafeed.jar""server""/config/config.yml" ]

但是这个版本需要我们自己下载 config.yml,并将 config.yml 放入到映射的卷中,否则容器启动时检测不到该文件会导致启动失败

所以就有了我们现在的 v2Dockerfile

FROM openjdk:8-jdk as build    
LABEL maintainer=laosu<wbsu2003@gmail.com>    
  
# 设置国内源   
RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list     
    && apt-get clean     
    && apt-get update     
    && apt-get install -y wget        
  
# 下载 2.6.0 的代码和配置文件  
RUN wget https://ghproxy.com/github.com/Athou/commafeed/releases/download/2.6.0/commafeed.jar    
RUN wget https://ghproxy.com/raw.githubusercontent.com/Athou/commafeed/2.6.0/config.yml.example -O config.yml    

# 基本设置  
EXPOSE 8082   
VOLUME /config    
   
## 运行前会检查 config 目录 ;
CMD   
  if [ -f "/config/config.yml" ]; then   
    echo "***** config 目录已存在设置文件, 跳过 *****" ;   
  else   
    echo "***** config 目录不存在或为空, 复制设置文件 *****" &&   
    cp config.yml ./config/config.yml ;   
  fi;   
  java -Djava.net.preferIPv4Stack=true -jar commafeed.jar server /config/config.yml

这个版本会在我们映射的卷中找到原始的 config.yml,修改之后只要重启容器就可以了

构建镜像和容器运行的基本命令如下👇

# 新建目录
mkdir commafeed
  
# 进入目录  
cd commafeed

# 将 Dockerfile 放入当前目录
  
# 构建镜像
docker build -t wbsu2003/commafeed:v1 .

# 运行容器
docker run -d 
   --name commafeed 
   -p 8082:8082 
   -v $(pwd)/config:/config 
   -v $(pwd)/data:/home/commafeed 
   wbsu2003/commafeed:v1

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 wbsu2003 ,下拉找到 wbsu2003/commafeed,版本选择 latest

CommaFeed:仿Google Readerd的RSS阅读器

docker 文件夹中,创建一个新文件夹 commafeed,并在其中建两个子文件夹,分别是 configdata

文件夹 装载路径 说明
docker/commafeed/config /config 存放设置
docker/commafeed/data /home/commafeed 存放数据库

CommaFeed:仿Google Readerd的RSS阅读器

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8082 8082

CommaFeed:仿Google Readerd的RSS阅读器

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 commafeed 和 子目录
mkdir -p /volume2/docker/commafeed/{config,data}

# 进入 commafeed 目录
cd /volume2/docker/commafeed

# 运行容器
docker run -d 
   --restart unless-stopped 
   --name commafeed 
   -p 8082:8082 
   -v $(pwd)/config:/config 
   -v $(pwd)/data:/home/commafeed 
   wbsu2003/commafeed

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  commafeed:
    image: wbsu2003/commafeed
    container_name: commafeed
    restart: unless-stopped
    ports:
      - 8082:8082
    volumes:
      - ./config:/config
      - ./data:/home/commafeed

然后执行下面的命令

# 新建文件夹 commafeed 和 子目录
mkdir -p /volume2/docker/commafeed/{config,data}

# 进入 commafeed 目录
cd /volume2/docker/commafeed

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

设置

容器正常启动之后,在 config 目录中可以找到 config.yml 文件

CommaFeed:仿Google Readerd的RSS阅读器

至少有 2 处需要修改

CommaFeed:仿Google Readerd的RSS阅读器

  1. publicUrl 的默认值指向了 localhost,用 docker 安装必须使用局域网 IP或者域名
  2. 默认设置是不支持注册用户的,需要将 allowRegistrations: false 改为 allowRegistrations: true

CommaFeed:仿Google Readerd的RSS阅读器

否则主页上只有登录

CommaFeed:仿Google Readerd的RSS阅读器

保存之后记得重启容器

运行

在浏览器中输入 http://群晖IP:8082 就能看到主界面

CommaFeed:仿Google Readerd的RSS阅读器

先注册用户

注意对密码的要求:

  • 不能少于 8 位;
  • 必须包含1个或多个大写字符;
  • 必须包含1个或多个小写字符;
  • 必须包含1个或多个特殊字符;

CommaFeed:仿Google Readerd的RSS阅读器

点左上角的 Subscribe,输入 Feed URL 后回车,如果地址没问题的话,会自动填充 Feed Name

  • 老苏博客的订阅地址是:https://laosu.ml/atom.xml
  • 因为没建分类,所以默认的分类(Category)是 All

CommaFeed:仿Google Readerd的RSS阅读器

Save 保存,在左侧菜单找到刚添加的订阅

CommaFeed:仿Google Readerd的RSS阅读器

仅显示标题模式改为显示全文 模式

CommaFeed:仿Google Readerd的RSS阅读器

设置中文

进入设置,选择 Language ,拉到底可以找到 简体中文

CommaFeed:仿Google Readerd的RSS阅读器

其他

CommaFeed 原本应该是支持移动端和浏览器插件的

CommaFeed:仿Google Readerd的RSS阅读器

但实际上现在只能找到 FireFox 的插件

CommaFeed:仿Google Readerd的RSS阅读器

移动端也差不多,看来 RSS 最终都会像 Google Reader一样,慢慢消失的无影无踪

参考文档

Athou/commafeed: Google Reader inspired self-hosted RSS reader.
地址:https://github.com/Athou/commafeed

CommaFeed
地址:https://www.commafeed.com/#/welcome

@所有人:写文不易,如果你都看到了这里,请点个在看,分享给更多的朋友;为确保你能收到每一篇文章,请主页右上角设置星标。

原文始发于微信公众号(各种折腾):CommaFeed:仿Google Readerd的RSS阅读器

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/70574.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!