# See sample https://miniflux.app/docs/docker.html#docker-compose # See env https://miniflux.app/docs/configuration.html services: miniflux_app: image: miniflux/miniflux:2.2.10 container_name: miniflux_app user: "{{ user_create_result.uid }}:{{ user_create_result.group }}" depends_on: miniflux_postgres: condition: service_healthy networks: - "miniflux_network" - "web_proxy_network" volumes: - "{{ secrets_dir }}:/secrets:ro" environment: - DATABASE_URL_FILE=/secrets/miniflux_database_url - RUN_MIGRATIONS=1 - CREATE_ADMIN=1 - ADMIN_USERNAME_FILE=/secrets/miniflux_admin_user - ADMIN_PASSWORD_FILE=/secrets/miniflux_admin_password - BASE_URL=https://miniflux.vakhrushev.me - DISABLE_LOCAL_AUTH=1 - OAUTH2_OIDC_DISCOVERY_ENDPOINT=https://auth.vakhrushev.me - OAUTH2_CLIENT_ID_FILE=/secrets/miniflux_oidc_client_id - OAUTH2_CLIENT_SECRET_FILE=/secrets/miniflux_oidc_client_secret - OAUTH2_OIDC_PROVIDER_NAME=Authelia - OAUTH2_PROVIDER=oidc - OAUTH2_REDIRECT_URL=https://miniflux.vakhrushev.me/oauth2/oidc/callback - OAUTH2_USER_CREATION=1 - METRICS_COLLECTOR=1 - METRICS_ALLOWED_NETWORKS=0.0.0.0/0 miniflux_postgres: image: postgres:16.3-bookworm container_name: miniflux_postgres environment: - POSTGRES_USER={{ miniflux_postgres_user }} - POSTGRES_PASSWORD={{ miniflux_postgres_password }} - POSTGRES_DB={{ miniflux_postgres_database }} networks: - "miniflux_network" - "monitoring_network" volumes: - {{ postgres_data_dir }}:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "--username={{ miniflux_postgres_user }}", "--dbname={{ miniflux_postgres_database }}"] interval: 10s start_period: 30s networks: miniflux_network: driver: bridge web_proxy_network: external: true monitoring_network: external: true