【服务器能干什么】二十分钟搭建一个属于自己的 RSS 服务
如果大家不想自己捣鼓,只是想尝尝鲜,可以在下面留言,我后台帮大家开几个账号玩一玩。
哔哩哔哩【高清版本可以点击去吐槽到 B 站观看】:【VPS服务器到底能干啥】信息爆炸的年代,如何甄别出优质的内容?你可能需要自建一个RSS服务!_哔哩哔哩_bilibili
前言
RSS 服务
市面上有非常多的 RSS 聚合服务,来帮助我们统一管理、订阅、更新、筛选 RSS 源推送给我们的更新信息,避免我们被海量的文章淹没,也能保证我们多个设备上 RSS 的阅读进度一致。
Feedly、Inoreader 等等都是非常不错的 RSS 服务,但是它们的免费版本都有着一定的限制,有时候无法满足我们的全部功能需求,而动辄一个月数十刀的订阅费用又让人望而却步。
不过,GitHub 上有一个开源的 RSS 服务:Tiny Tiny RSS
可以满足我们 RSS 订阅的全部需求!
准备工作
- 一台 VPS 服务器(以 CentOS 7 为例)
- 安装好宝塔面板配置好 LNMP 宝塔安装教程点我
1、安装 docker
Docker 是非常优秀的虚拟化容器,借助于 Docker 我们可以方便的部署 Tiny Tiny RSS,首先我们在服务器上安装 Docker 本体。在服务器上面执行下面命令来安装 Docker:
BASH
curl -fsSL https://get.docker.com/ | sh |
然后启动 Docker 服务:
BASH
sudo systemctl start docker |
然后,我们检查一下 Docker 是否启动成功。我们执行命令 sudo systemctl status docker
:
设置 docker 自动启动:
BASH
sudo systemctl enable docker |
2、安装 docker-compose
接下来我们安装 docker-compose:一个管理和启动多个 Docker 容器的工具。
由于 Tiny Tiny RSS 依赖有 PostgreSQL 的数据库服务以及 mercury_fulltext 的全文抓取服务等等,这些服务我们都借助于 Docker 部署,因此利用 docker-compose 就会大大降低我们的部署难度。
我们继续,在服务器上面执行下面的命令来安装 docker-compose:
BASH
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose |
之后给予安装好的 docker-compose
可执行权限:
BASH
chmod +x /usr/local/bin/docker-compose |
创建链接:
BASH
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose |
最后我们运行 docker-compose --version
来检查安装是否成功。如果有如下输出,说明我们的 docker-compose
安装成功:
3、安装 Tiny Tiny RSS
准备工作已经全部完成,接下来我们下载由 Awesome-TTRSS 配置的 Tiny Tiny RSS 服务的 docker-compose
配置文件:
BASH
# 创建 ttrss 目录并进入 mkdir ttrss && cd ttrss # 利用 curl 下载 ttrss 的 docker-compose 配置文件至服务器 curl -fLo docker-compose.yml https://github.com/HenryQW/Awesome-TTRSS/raw/master/docker-compose.yml |
注意利用 curl 下载 ttrss 的 docker-compose 配置文件至服务器可能会报错,大家可以直接在宝塔面板找到对应的文件夹下,然后新建 docker-compose.yml
文件,复制下面的内容进去:
YML
version: "3" services: service.rss: image: wangqiru/ttrss:latest container_name: ttrss ports: - 181:80 environment: - SELF_URL_PATH=http://localhost:181/ # please change to your own domain - DB_PASS=ttrss # use the same password defined in `database.postgres` - PUID=1000 - PGID=1000 volumes: - feed-icons:/var/www/feed-icons/ networks: - public_access - service_only - database_only stdin_open: true tty: true restart: always service.mercury: # set Mercury Parser API endpoint to `service.mercury:3000` on TTRSS plugin setting page image: wangqiru/mercury-parser-api:latest container_name: mercury networks |