simon

simon

github

Nas 部署TTRSS+Fever

目的#

主要是为了摆脱 feedly,每次使用都要开启代理,我的手机代理并不是一直开着的。所以自建一个 rss 服务就会比较方便

选择#

现在比较常见的 ttrss,然后配置 fever 插件,其提供的 api 可以在各种客户端使用,例如我用的 Reeder

搭建#

直接用 docker-compose 来启动

  1. 在 docker 文件夹下创建一个 ttrss 文件夹, 进入后再创建一个 data 文件下,用于存档其他配置
  2. 创建一个 docker-compose.yml 的配置文件。注意备注,按照备注要求改成自己的数据
version: "3"
services:
  database.postgres:
    image: sameersbn/postgresql:10 [[特别说明不要使用latest]]
    container_name: postgres
    environment:
      - PG_PASSWORD=PGPS123 # 修改数据库密码
      - DB_EXTENSION=pg_trgm
    volumes:
      - /volume2/docker/ttrss/data/:/var/lib/postgresql/ # 特别注意,套件在哪个volume就填几,volume2是需要修改的值
    restart: always

  service.rss:
    image: wangqiru/ttrss:latest
    container_name: ttrss
    ports:
      - 5005:80
    environment:
      - SELF_URL_PATH=http://yourIP:5005/ # 下面7个参数后期可在docker中修改,所以暂时不需要改动
      - DB_HOST=database.postgres
      - DB_PORT=5432 # 数据库端口,别动它
      - DB_NAME=ttrss
      - DB_USER=postgres
      - DB_PASS=PGPS123 # 上面的密码
      - ENABLE_PLUGINS=auth_internal,fever # 默认开启
    stdin_open: true
    tty: true
    restart: always
    command: sh -c 'sh /wait-for.sh database.postgres:5432 -- php /configure-db.php && exec s6-svscan /etc/s6/' # 别随便改动,这是容器启动时执行的命令
  1. ssh 到 nas 上,使用 sudo su 切换到 root 用户权限
  2. 进入 docker/ttrss 目录,执行
docker-compose up -d
  1. 此时进入套件 docker 中就可以看到新建的两个 container 了,一个是 postgres 数据库,一个是 ttrss
  2. 打开配置,修改环境变量,将 SELF_URL_PATH 修改为你外网访问的域名地址 + 端口
  3. 按照之前说的方法用反向代理来实现 https 的访问,也就是上面设置的端口
  4. 使用默认的用户名和密码登录,分别是 admin 和 password
  5. 进入偏好设置
    1. 修改密码
    2. 打开 - 允许外部客户端通过 API 来访问该账户
    3. 进入插件 - fever emulation-- 设置 fever 的访问密码,建议和 ttrss 一样
  6. 此时可以在设置中导入你之前的 OPML, 将过去的订阅迁移过来
  7. 最后在 reeder 上登录账号,这里有些小坑,关于其需要的三个参
    1. 服务地址:可以在插件页面看到,但那个地址是错的。真实的地址是 host/plugins/fever/, 中间是 plugin,而不是 plugin.local
    2. 邮件地址:这个其实是填写的用户名,这里就是 admin,这个折腾了我好一会儿
    3. 密码:就是 fever 配置中设的密码
  8. 最后,这个页面是可以选择不同的主题的,我换成了 feedly 的夜间主题,很养眼

One More Thing#

还有点问题就是,有的 rss 订阅源在墙外,这个需要配置翻墙。
这个只要在 docker 的环境变量中,添加一个参数即可

HTTP_PROXY=192.168.11.X:7890 // 宿主机的局域网IP:http代理的端口号
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。