搭建自己的专属RSS服务 -- Docker + Tiny Tiny RSS

前言

回想起来头一次接触 RSS 的时候还是11年左右的事了,那时候嫌流量少又想看nba新闻,就搞了个RSS订阅,界面真的是丑出天际。七八年过去,流量早已不值钱,我却再次回想起了 RSS 的好,回想起当年丑上天的 RSS 阅读器,虽然简单,但是那快乐温暖纯真,比现在铺天盖地的app推送是高到不知道哪里去了

既然现在又有了一台服务器,就拿它来做点让自己高兴的活吧,正好自己也需要一个靠谱的方式来 follow(实在想不好中文应该咋说) arXiv 上的 ai 论文和一些自己感兴趣的科技游戏新闻等。RSS 显然是优秀的选择,收费的 RSS 服务虽然好但是是真滴贵,作为一个穷人技术宅当然是要自己搭一个 RSS 服务了

安装

得益于 Docker 的发展与壮大,现在配这种功能性的环境真的是比以前方便很多很多,为了能快速搭起来一个 RSS 服务,选择从 Docker 安装 Tiny Tiny RSS

Docker

Docker安装

官方文档 提供了脚本安装的途径,那么自然是要选择这种最省事的方法了

1
2
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh

输入 docker -v 查看版本信息,大功告成

Docker更新与维护

权限问题

默认情况下没有root权限的用户无法使用docker,我们需要

1
sudo usermod -aG docker <user-name>

将用户添加到docker组中

更新

更新时无须再此运行 get-docker.sh 脚本(脚本包括了检查兼容性检查依赖添加apt库等一系列操作),这里只需要 sudo apt update 然后根据指示升级即可(照着文档意思和脚本代码内容貌似是这样,我也是第一次用这种操作装docker,23333,有差错回来补坑)

Tiny Tiny RSS

原来是打算按照少数派上的一位老哥给出的教程安装一波,但是可能是给出的docker比较老旧的原因,配置不成功,所以换了另一位老哥的教程,并通过他推荐的新docker镜像安装

通过查看新镜像的github页面发现它支持docker-compose安装,那自然是越省事越好

安装 docker-compose

下载并解压docker-compose

1
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

这里的1.23.2并不一定是最新的,安装前需要去 docker-compose 的 Github release 页面查看一下docker-compose的版本(不过话说回来万一以后有更新的版本了也不一定能和镜像作者给的脚本兼容,目前1.23.2是兼容的,到时候不兼容了就继续折腾呗~)

通过 docker-compose 部署 ttrss 和 postgreSQL

下载 docker-compose.yml

通过git下载或者直接新建一个yml文件然后复制均可, 地址

更改 docker-compose.yml 设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
version: "3"
services:
database.postgres:
image: sameersbn/postgresql:latest
container_name: postgres
environment:
- PG_PASSWORD=ttrss # 更改为自己的密码
- DB_EXTENSION=pg_trgm
restart: always

rss:
image: wangqiru/ttrss:latest
container_name: ttrss
ports:
- 181:80 # 将冒号前的181改成自己想要的端口
environment:
- SELF_URL_PATH=http://<your-ip-address>:181/ # 换成自己的ip地址
- DB_HOST=database.postgres
- DB_PORT=5432
- DB_NAME=ttrss
- DB_USER=postgres
- DB_PASS=ttrss # 和上面的P G_PASSWORD 同步更改
stdin_open: true
tty: true
restart: always
command: sh -c 'sh /wait-for database.postgres:5432 -- php /configure-db.php && exec s6-svscan /etc/s6/'

部署

运行

1
$ docker-compose up -d

测试安装完成

访问 <your-ip-address>:<your-port> 账号 admin,密码 password,登陆后就可以改成自己的密码了

舒服了。。服务器真好玩