# documentation: https://freshrss.org/index.html
# slogan: A free, self-hostable feed aggregator.
# category: cms
# tags: rss, feed
# logo: svgs/freshrss.png
# port: 80
services:
  freshrss:
    image: freshrss/freshrss:latest
    environment:
      - SERVICE_URL_FRESHRSS_80
      - CRON_MIN=${CRON_MIN:-1,31}
      - POSTGRES_DB=${POSTGRESQL_DATABASE:-freshrss}
      - POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
      - POSTGRES_HOST=postgresql
    volumes:
      - freshrss-data:/var/www/FreshRSS/data
      - freshrss-extensions:/var/www/FreshRSS/extensions
    depends_on:
      freshrss-db:
        condition: service_healthy
    healthcheck:
      test: ["CMD-SHELL", "bash -c ':> /dev/tcp/127.0.0.1/80' || exit 1"]
      interval: 5s
      timeout: 20s
      retries: 3
  freshrss-db:
    image: postgres:16
    volumes:
      - freshrss-postgresql-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
      - POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
      - POSTGRES_DB=${POSTGRESQL_DATABASE:-freshrss}
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
      interval: 5s
      timeout: 20s
      retries: 10