ttrss是一个免费开源的RSS/Atom阅读器,它支持多语言,但中文版翻译并不完整,原本打算自己写份Dockerfile,但是经过了解ttrss需要部署PostgreSQL数据库,且后期插件也需要部署,如果打包单个镜像的话会很麻烦,镜像体积估计也会很大,正在阅读资料的时候发现有个大佬已经制作过ttrss的镜像,并可以通过docker-compose部署全部环境,所以基于他的镜像写份教程算了!(懒得动),顺便介绍下群晖Docker里面docker-compose的用法!
ttrss官网:https://tt-rss.org/
源码:https://git.tt-rss.org/git/tt-rss/src/master
Dockerfile源码:https://github.com/rubenv/docker-ttrss-plugins
Dockerfile分支:https://github.com/HenryQW/docker-ttrss-plugins (本文所需镜像)
Tiny Tiny RSS 容器镜像
插件:
- Mercury: 全文内容提取插件, 需要配合自建 Mercury Parser API, 参见HenryQW/mercury-parser-api.
- Fever: Fever API 模拟插件(请参照这里进行设置).
- Feediron: 提供文章 DOM 操控能力的插件.
- ttrss_opencc: 使用 OpenCC 为 ttrss 提供中文繁转简的插件. 插件设置中填写 OpenCC API 服务器地址. Demo 服务器(可用性不做任何保证): https://opencc.henry.wang (Google Cloud) or http://opencc2.henry.wang (Heroku)
其中1和4插件,如果不需要,可以在docker-compose.yml文件内删除,文件内有注释
Feedly
主题:通过 docker-compose 部署
- 默认通过 181 端口访问 ttrss,默认账户:
admin
密码:password
,请第一时间更改. wangqiru/mercury-parser-api
及wangqiru/opencc-api-server
为支持高级功能而加入的可选服务类容器, 删除不会影响 TTRSS 基础功能.
使用建议
- Web 端推荐使用 freestyler 插件 来定制自己的 CSS 风格, 尤其是中文字体. 一些样式代码, 请替换自己的ttrss域名.
- 对于 iOS 用户, Fever 模拟插件提供 Reeder iOS (最强 RSS 阅读器, 没有之一) 后端支持.
部署教程
我们知道要运行一个 docker 镜像, 通常都是使用 docker run 命令, 在运行的镜像的时候, 需要指定一些参数, 例如:容器名称、 映射的卷、 绑定的端口、 网络以及重启策略等等,在群晖里面部署Docker我们只需要点击记下鼠标,就可以在图形界面完成部署,docker run命令都适用于部署单个镜像, 但是在有相互依赖的关系里这样的镜像会非常复杂。
Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器,使用Docker Compose可以更方便快捷部署你的docker镜像集群!
群晖内置的Docker已经包含了 docker-compose,所以我们直接使用就可以了!当然你也可以点点鼠标自己关联镜像,但是本着省事(懒)原则,能简单,就不要复杂!
首先我们进入群晖的ssh,在这里我使用putty演示,如果没有ssh工具,你可以使用我之前的网页版Webssh < 传送门 >
登陆之后我们需要获取root,输入以下命令,获取root权限,并确认docker-compose 是否安装
1 2 3 4 5 |
#获取root sudo -i #打印docker-compose版本 docker-compose --version |
之后我们在群晖新建一个文件和一个文件夹data
复制下面内容,并保存为 docker-compose.yml 文件 注意保存为 UTF-8 编码
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
version: "3" services: database.postgres: image: sameersbn/postgresql:latest container_name: postgres environment: - PG_PASSWORD=ttrss # 此处为数据库密码,修改为你自己的,不懂就默认 - DB_EXTENSION=pg_trgm volumes: - /volume1/docker/ttrss/data/:/var/lib/postgresql/ # 把/volume1/docker/ttrss/data/修改为你宿主机的真实文件夹路径,用于存储postgresql数据库 restart: always service.rss: image: wangqiru/ttrss:latest container_name: ttrss ports: - 11111:80 # 冒号之前是你需要访问的端口,后面的80不需要修改 environment: - SELF_URL_PATH=http://www.oldiy.top:11111/ # 修改为你自己的域名+端口 - DB_HOST=database.postgres - DB_PORT=5432 - DB_NAME=ttrss - DB_USER=postgres - DB_PASS=ttrss # 修改为上面设置的数据库密码 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/' #一个用来获取全文的插件,不需要的话可以删除 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 expose: - 3000 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 expose: - 3000 restart: always |
之后修改需要修改的部分 其中 /volume1/docker/ttrss/data/ 为你群晖刚刚建立的文件夹路径
之后,我们在群晖内查看下该文件的真实地址,并复制下路径名称,确认保存的为UTF-8编码
如果你不会保存,请直接下载文件并修改,< 下载 >
回到ssh,cd 到我们刚刚复制的目录下面
1 |
cd /volume1/docker/ttrss |
进来之后,确认你的docker-compose.yml 文件已经存在该目录下,执行
1 |
docker-compose up -d |
程序会自动下载docker镜像,并进行关联,和部署
之后,你就可以通过你自己设置的域名或者IP +端口访问你的 ttrss了
如何删除
进入群晖Docker
找到容器,停止后删除
找到镜像,删除即可完全删除ttrss
常见问题:
出现这个问题,是由于ttrrs容器端口没有正确设置,我们手动停止ttrrs容器,选中容器,点击编辑,进入环境,看一下网址端口是否正确,一般修改正确后就不会出现该问题!
- 本站教程,未注明转载均为原创内容,仅做为学习参考使用,切勿用于非法及商业用途!造成的后果作者不承担任何责任!
- 如果转载请注明出处!oD^Blog
- 本文如果需要更新,或者失效请联系微信 : oldiy2018 【微信不解答任何问题,不接收任何红包!】
- 如果支持作者,请点击下方赞赏,支持一杯饮料!
- 如果有问题可以点击【加入电报群】和我一起沟通或者下方留言讨论!
微信赞赏
支付宝赞赏
群辉的DDSM有没有办法提取出来给其他平台的docker用?
没有用过 ,有空我看一下吧
群晖自带的数据库就是postgresql,可以直接用群晖系统自带的,不必另外部署个docker的
群晖使用的是postgresql啊?没注意到啊~!
確實是的
大佬 咨询个问题 我在群晖的docker里装了这个ttrss,但是配置SELF_URL_PATH为内网ip时,外网就不能访问,配置为外网地址时,内网访问就有问题,因为用的ROS,有什么解决办法么
设置内网IP,然后frp穿透
大佬,运行命令的时候报错
ERROR: The Compose file ‘./docker-compose.yml’ is invalid because:
Unsupported config option for services: ‘database.postgres’
请问咋回事?我用的3617 DSM6.21
没事了,少复制了一行 version: “3”。。。。
大佬,我配合RSSHUB订阅的游研社和少数派都没办法看全文,但是在selfoss里又没问题,请问你这有这种情况吗
我目前不用rss,你可以去群里问问