This is the first public release that should work reliably for everyone! 🎉🚀
News Aggregator - Aggregates news articles from several RSS feeds, fetches full-text if possible, sorts them by relevance (based on user settings), and displays them on a distraction-free homepage.
Go to Repo for more details/screenshots
Quick Setup
Create the docker-compose.yml file:
version: "3.9"
services:
# The News Plattform
news-platform:
image: vanalmsick/news_platform
container_name: news-platform
restart: always
ports:
- 80:80 # for GUI/website
- 81:5555 # for Celery Flower Task Que
- 82:9001 # for Docker Supervisor Process Manager
depends_on:
news-platform-postgres:
condition: service_healthy
volumes:
- /your/local/data/path/news_platform:/news_platform/data
environment:
MAIN_HOST: 'http://your-main-url'
HOSTS: 'http://your-main-url,http://news-platform,http://localhost,http://192.168.1.201'
TIME_ZONE: 'Europe/London'
ALLOWED_LANGUAGES: 'en,de'
CUSTOM_PLATFORM_NAME: 'Personal News Platform'
SIDEBAR_TITLE: 'News Ticker: Funds'
POSTGRESQL_HOST: news-platform-postgres # not required - omit if you'd like to use SQLite
POSTGRESQL_DB: postgres # not required - omit if you'd like to use SQLite
POSTGRESQL_USER: postgres # not required - omit if you'd like to use SQLite
POSTGRESQL_PASSWORD: postgres # not required - omit if you'd like to use SQLite
# PostgreSQL Database [not required but fallback SQLite might cause IO write errors on small PCs like RaspberryPis]
news-platform-postgres:
image: postgres:16
container_name: news-platform-postgres
restart: always
volumes:
- /your/local/data/path/news_platform/postgresql:/var/lib/postgresql/data
environment:
POSTGRES_DB: postgres
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U $$POSTGRES_USER" ]
interval: 5s
timeout: 5s
retries: 10
Execute the command:
docker compose -f "docker-compose.yml" up --pull "always" -d --remove-orphans
Open http://localhost:80/refresh/ in your browser to tigger first news fetching (first fetch takes approx. 20min - later approx. 2min).