68 lines
2.4 KiB
YAML
68 lines
2.4 KiB
YAML
# 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
|