Skip to content

Homelab - Self-hosted RSS Aggregator with FreshRSS

FreshRSS

FreshRSS is a self-hosted RSS aggregator that supports subscribing to multiple RSS sources and automatically refreshing them. It provides web-based reading and an API for use with mobile apps.

Deployment (Docker Compose)

To get started, create a compose.yaml file and paste the following content:

compose.yaml
version: "2.4"
services:
  freshrss:
    container_name: ${STACK_NAME}_app
    image: freshrss/freshrss:${APP_VERSION}
    hostname: freshrss
    logging:
      options:
        max-size: 10m
    ports:
      - "${APP_PORT}:80"
    volumes:
      - ${STACK_DIR}/data:/var/www/FreshRSS/data
      - ${STACK_DIR}/extensions:/var/www/FreshRSS/extensions
    environment:
      TZ: Asia/Shanghai
      CRON_MIN: "*/60" # Pull article updates every 60 minutes
    restart: unless-stopped

(Optional) It's recommended to create a .env file in the same directory as compose.yaml to customize your environment variables. If you prefer not to use environment variables, you can also directly customize your parameters within compose.yaml (e.g., replace ${STACK_NAME} with freshrss).

.env
STACK_NAME=freshrss
STACK_DIR=xxx # Customize your project storage path, e.g., ./freshrss

# freshrss
APP_VERSION=latest
APP_PORT=xxxx # Customize your access port, choose an unoccupied one

Finally, run the docker compose up -d command in the same directory as compose.yaml to start the orchestrated containers.

Configuration Notes

You can find recommended RSS sources in rss-list, a list of Chinese blogs curated by saveweb.

For mobile apps, we recommend using FeedMe for Android and NetNewsWire for iOS.

For more RSS-related content, please refer to the article on RSS - A High-Efficiency Reading Method.

References and Acknowledgments

Original: https://wiki-power.com/ This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.

This post is translated using ChatGPT, please feedback if any omissions.