自建Docker Tiny Tiny RSS 阅读器

date
Feb 19, 2024
slug
newservice-ttrss-tiny-tiny-rss-reader
status
Published
summary
新服务 rss
tags
service
type
Post
URL
notion image
notion image

Summary

  • 油猴rss+ add to tiny tiny rss需要设置:https://ttrss.xxx.xxx/public.php?op=bookmarklets--subscribe&feed_url=

步骤

 
export DOCKER_PROJ=ttrss
export DOCKER_PROJ_DOMAIN=$DOCKER_PROJ.xxx.xxx

mkdir -p /data/$DOCKER_PROJ
cd /data/$DOCKER_PROJ

# https://github.com/HenryQW/Awesome-TTRSS/blob/main/docker-compose.yml
wget https://raw.githubusercontent.com/HenryQW/Awesome-TTRSS/main/docker-compose.yml

mkdir feed-icons
chmod -R 777 feed-icons

cat > docker-compose.yml <<EOF
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
      - SELF_URL_PATH=https://ttrss.xxx.xxx/ # 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:
      - npm_nginx_proxy_manager-network
      - 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:
      - npm_nginx_proxy_manager-network
      - 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
    volumes:
      - ./db:/var/lib/postgresql/data # persist postgres data to ~/postgres/data/ on the host
    networks:
      - database_only
    restart: always

  # utility.watchtower:
  #   container_name: watchtower
  #   image: containrrr/watchtower:latest
  #   volumes:
  #     - /var/run/docker.sock:/var/run/docker.sock
  #   environment:
  #     - WATCHTOWER_CLEANUP=true
  #     - WATCHTOWER_POLL_INTERVAL=86400
  #   restart: always

networks:
        #public_access: # Provide the access for ttrss UI
  npm_nginx_proxy_manager-network: # Provide the access for ttrss UI
external: true
  service_only: # Provide the communication network between services only
    internal: true
  database_only: # Provide the communication between ttrss and database only
    internal: true
EOF

docker-compose down; docker-compose up -d; sleep 1s; docker-compose logs -f

manual update

cd /data/ttrss
docker-compose down
docker-compose pull 
# docker pull wangqiru/mercury-parser-api:latest
# docker pull wangqiru/opencc-api-server:latest
docker-compose up -d 

local cache / cloudflare cache都要关闭,不然安装会有各种问题

npm nginx proxy manager配置

location / {
        proxy_redirect off;
        proxy_pass http://ttrss:80;
        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;
    }
notion image
 
notion image
 

使用扩展

service.mercury:3000
service.opencc:3000
notion image
 

API 访问 - Google Reader and Fever Compatible

 

验证

 

© Ying Bun 2021 - 2024