# Miniflux — feeds.manohargupta.com # Minimal RSS reader. Postgres-only (no SQLite option in Miniflux). # Intended sources: MercomIndia, IEEFA, MNRE press releases, CERC, SECI, etc. # n8n will poll the Miniflux API to digest unread entries and push to Telegram. services: miniflux-db: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_DB: miniflux POSTGRES_USER: miniflux POSTGRES_PASSWORD: ${MINIFLUX_DB_PASSWORD} volumes: - miniflux_db_data:/var/lib/postgresql/data networks: - miniflux_internal # DB never touches the public network healthcheck: test: ["CMD-SHELL", "pg_isready -U miniflux -d miniflux"] interval: 10s timeout: 5s retries: 5 miniflux: image: miniflux/miniflux:2.2.7 # Pinned -- upgrade deliberately restart: unless-stopped depends_on: miniflux-db: condition: service_healthy environment: # Full Postgres DSN -- sslmode=disable is fine on the internal bridge network DATABASE_URL: postgres://miniflux:${MINIFLUX_DB_PASSWORD}@miniflux-db/miniflux?sslmode=disable # Run DB migrations automatically on boot RUN_MIGRATIONS: "1" # Auto-create admin account on first boot -- these env vars are ignored after that CREATE_ADMIN: "1" ADMIN_USERNAME: ${MINIFLUX_ADMIN_USERNAME} ADMIN_PASSWORD: ${MINIFLUX_ADMIN_PASSWORD} # IST so relative timestamps ("2 hours ago") match your timezone TZ: Asia/Kolkata networks: - dokploy-network - miniflux_internal labels: - "traefik.enable=true" - "traefik.docker.network=dokploy-network" - "traefik.http.routers.miniflux.rule=Host(`feeds.manohargupta.com`)" - "traefik.http.routers.miniflux.entrypoints=websecure" - "traefik.http.routers.miniflux.tls.certresolver=letsencrypt" - "traefik.http.services.miniflux.loadbalancer.server.port=8080" deploy: labels: - "traefik.enable=true" - "traefik.docker.network=dokploy-network" - "traefik.http.routers.miniflux.rule=Host(`feeds.manohargupta.com`)" - "traefik.http.routers.miniflux.entrypoints=websecure" - "traefik.http.routers.miniflux.tls.certresolver=letsencrypt" - "traefik.http.services.miniflux.loadbalancer.server.port=8080" volumes: miniflux_db_data: networks: dokploy-network: external: true miniflux_internal: driver: bridge