1. 项目介绍 主页
    Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator

  2. 安装过程

  • 数据库/容器路径
mkidr -p ~/postgres/data/
mkidr -p  ~/dockerData/ttrss/config.d
cd  ~/dockerData/ttrss
  • 环境变量文件 .env 修改 TTRSS_SELF_URL_PATH 、TTRSS_DB_PASS
# Set admin user password to this value. If not set, random password will be generated on startup, look for it in the 'app' container logs.
#ADMIN_USER_PASS=

# Sets admin user access level to this value. Valid values:
# -2 - forbidden to login
# -1 - readonly
#  0 - default user
# 10 - admin
#ADMIN_USER_ACCESS_LEVEL=

# Auto create another user (in addition to built-in admin) unless it already exists.
#AUTO_CREATE_USER=
#AUTO_CREATE_USER_PASS=
#AUTO_CREATE_USER_ACCESS_LEVEL=0

# Default database credentials.
TTRSS_DB_USER=postgres
TTRSS_DB_NAME=ttrss
TTRSS_DB_PASS=dbpasswd

# You will likely need to set this to the correct value - it should point to external tt-rss URL as seen in your browser.
TTRSS_SELF_URL_PATH=https://rss.58wo.com

# You can customize other config.php defines by setting overrides here. See tt-rss/.docker/app/Dockerfile for complete list. Examples:

# TTRSS_PLUGINS=auth_remote
# TTRSS_SINGLE_USER_MODE=true
# TTRSS_SESSION_COOKIE_LIFETIME=2592000
# TTRSS_FORCE_ARTICLE_PURGE=30
# ...

# Bind exposed port to 127.0.0.1 to run behind reverse proxy on the same host. If you plan expose the container, remove "127.0.0.1:".
HTTP_PORT=127.0.0.1:8280
#HTTP_PORT=8280

ersion: '3'

services:
  db:
    image: postgres:15-alpine
    restart: unless-stopped
    env_file:
      - .env
    environment:
      - POSTGRES_USER=${TTRSS_DB_USER}
      - POSTGRES_PASSWORD=${TTRSS_DB_PASS}
      - POSTGRES_DB=${TTRSS_DB_NAME}
    volumes:
      - db:/var/lib/postgresql/data

  app:
    image: cthulhoo/ttrss-fpm-pgsql-static:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - db

#  optional, makes weekly backups of your install
#  backups:
#    image: cthulhoo/ttrss-fpm-pgsql-static:latest
#    restart: unless-stopped
#    env_file:
#      - .env
#    volumes:
#      - backups:/backups
#      - app:/var/www/html
#    depends_on:
#      - db
#    command: /opt/tt-rss/dcron.sh -f

  updater:
    image: cthulhoo/ttrss-fpm-pgsql-static:latest
    restart: unless-stopped
    env_file:
      - .env
    volumes:
      - app:/var/www/html
      - ./config.d:/opt/tt-rss/config.d:ro
    depends_on:
      - app
    command: /opt/tt-rss/updater.sh

  web-nginx:
    image: cthulhoo/ttrss-web-nginx:latest
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - ${HTTP_PORT}:80
    volumes:
      - app:/var/www/html:ro
    depends_on:
      - app

volumes:
  db:
  app:
  backups:
  • Nginx 配置 用8280 接 .env中的HTTP_PORT
upstream ttrssdev {
    server 127.0.0.1:8280;
}

server {
    listen 80;
    server_name  rss.xx.com;
    return 301 https://rss.xx.com$request_uri;
}

server {
    listen 443 ssl;
    gzip on;
    server_name  rss.xx.com;

    ssl_certificate /path/to/cert/xxxcom.cert;
    ssl_certificate_key /path/to/cert/xxxcom.key;

    location / {
        proxy_redirect off;
        proxy_pass http://ttrssdev;

        proxy_set_header  Host                $http_host;
        proxy_set_header  X-Real-IP           $remote_addr;
        proxy_set_header  X-Forwarded-Ssl     on;
        proxy_set_header  X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto   $scheme;
        proxy_set_header  X-Frame-Options     SAMEORIGIN;

        client_max_body_size        100m;
        client_body_buffer_size     128k;

        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
		proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
    }
}

  1. 配置RSS
  • 登录密码没在.env设,就会生成随机密码,通过docker logs dockerid查看
    image-1715794666865
    登录界面
    image-1715794503550
    设置密码及RSS源(可手动添加可导入OPML)
    image-1715794828754
    image-1715794885462
    设置个性布局
    image-1715795109085
  1. 写在后面

定制RSS 阅读,可以减少依赖通用客户端推送的大量无用内容,但目前没有太好用的工具,一开始是冲着 国内有基于它开发的awesome tt rss,没有配置成功。只好作罢。TT最明显的缺点是,不能设置网络,最开始在国内服务器部署方便阅读,但是看不了截图中的 v2ex ,linux.do等,后来又换到国外部署。希望后面能找到类似的插件。个人比较看好这块应用,后面可开发的方向比较多,可对接个人的dolist和个人助理,或内容过滤智能应用等等方方面面。