## Template compose used for each stack. name: ${_STACK_0} # Explicit project name (do not rely on directory name) networks: edge-net: name: ${_NET_0} external: true # All networks SHOULD be external in production. db-net: name: ${_NET_1} volumes: rss-data: name: ${VOLUME_0} external: true rss-db: name: ${_VOLUME_1} external: true # All volumes SHOULD be external in production. services: rss: container_name: ${_CONTAINER_0} # Name the containers explicitly. image: freshrss/freshrss:latest restart: unless-stopped env_file: # NOTE: .compose.env WILL override .env if there are overlapping values. - .run.env # Runtime ENV - .env # Compose ENV volumes: - rss-data:/var/www/FreshRSS/data extra_hosts: - "${OIDC_PROVIDER_DOMAIN}:${PROXY_IP}" networks: - edge-net - db-net expose: - 80 healthcheck: test: ["CMD", "cli/health.php"] timeout: 10s start_period: 60s start_interval: 11s interval: 75s retries: 3 rss-db: container_name: ${_CONTAINER_1} # Name the containers explicitly. image: postgres:18 restart: unless-stopped env_file: - run.env # Runtime ENV - .env # Compose ENV volumes: - rss-db:/var/lib/postgresql networks: - db-net expose: - 5432