# 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}
      - MYSQL_DB=${MYSQL_DATABASE:-freshrss}
      - MYSQL_USER=${SERVICE_USER_MYSQL}
      - MYSQL_PASSWORD=${SERVICE_PASSWORD_MYSQL}
    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: mysql:8
    volumes:
      - mysql-data:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_ROOT
      - MYSQL_DATABASE=${MYSQL_DATABASE:-freshrss}
      - MYSQL_USER=$SERVICE_USER_MYSQL
      - MYSQL_PASSWORD=$SERVICE_PASSWORD_MYSQL
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1"]
      interval: 5s
      timeout: 20s
      retries: 10
