最新版ttrss屏蔽了非40/443端口的feed,需要在environment:中增加一项
- ALLOW_PORTS=rsshub的端口号
前言
最近老是感觉刷社交媒体或者新闻的时候被大数据牵着鼻子走,不知不觉进入了互联网的信息茧房。所以打算利用手头一台NAS自建一个RSS阅读器。
NAS需要安装docker,安装好docker后自带docker-compose
前置步骤
- 启动群晖NAS的SSH,设置好端口号。
- 使用远端工具MobaXterm(或者其他同类型软件)连接NAS
root账户
先输入账号密码进入系统
sudo -i
在docker文件夹下新建两个文件夹
- /docker/ttrss/feed-icons 放feed icons的地方
- /docker/postgres/data 数据库,放我们数据的地方
mkdir /docker/ttrss/feed-icons/ mkdir /docker/postgres/data/
编辑compose文件
本文适用docker-compose来安装ttrss,好处就是可以一次性同时部署好几个服务,便于维护
下载docker-compose.yml。或者直接复制我设置好的docker-compose文件。
- SELF_URL_PATH,改成你自己的域名,内外网都可以
- 几处volumes,改成你自己的本地地址
我在最后执行的时候发现postgres一直无限重启,查阅日志显示initdb: error: directory "/var/lib/postgresql/data" exists but is not empty。
查阅资料后也没搞懂原理,但是查到一个方法是,将/volume1/docker/postgres/data/不要挂载到/var/lib/postgresql/data/,而是在这个位置下再新建一个任意名字的文件夹。并在元素里增加PGDATA='/var/lib/postgresql/data/pgdata'。这样就把默认位置改变,postgres也可以启动了。
version: "3"
services:
service.rss:
image: wangqiru/ttrss:latest
container_name: ttrss
ports:
- 181:80
environment:
- SELF_URL_PATH=http://192.168.50.12:181/ # please change to your own domain
- DB_PASS=ttrss # use the same password defined in `database.postgres`
- DB_HOST=database.postgres
- DB_PORT=5432
- DB_NAME=ttrss
- DB_USER=postgres
- ENABLE_PLUGINS=auth_internal,fever
- PUID=1000
- PGID=1000
volumes:
- /volume1/docker/ttrss/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:
- public_access
- service_only
restart: always
service.opencc: # set OpenCC API endpoint to `service.opencc:3000` on TTRSS plugin setting page
image: wangqiru/opencc-api-server:latest
container_name: opencc
environment:
- NODE_ENV=production
networks:
- service_only
restart: always
database.postgres:
image: postgres:13-alpine
container_name: postgres
environment:
- POSTGRES_PASSWORD=ttrss # feel free to change the password
- PGDATA='/var/lib/postgresql/data/pgdata'
volumes:
- /volume1/docker/postgres/data/:/var/lib/postgresql/data/pgdata/ # persist postgres data to ~/postgres/data/ on the host
networks:
- database_only
restart: always
volumes:
feed-icons:
networks:
public_access: # Provide the access for ttrss UI
service_only: # Provide the communication network between services only
internal: true
database_only: # Provide the communication between ttrss and database only
internal: true
执行命令
docker-compose up -d // docker就会将各个容器下载安装,等文件全部执行完成后,可以去docker查看容器是否运行。
结语
至此 ttrss 就算部署完毕了,至于 ttrss 怎么设置和使用可以参考 Awesome TTRSS 官网。
碰到的主要问题就是 postgres 容器文件夹挂载。如果在部署中有其他问题也可以参考上面的官网或者查看日志搜索相关问题。
感谢
https://zhuanlan.zhihu.com/p/394729474
https://ttrss.henry.wang/zh/
本文作者:HelloGakki
本文链接:https://pinaland.cn/archives/tiny-tiny-rss.html
版权声明:所有文章除特别声明外均系本人自主创作,本文遵循署名-非商业性使用-禁止演绎 4.0 国际许可协议,转载请注明出处。。