stacks/miniflux/compose.yaml
2025-07-01 17:30:05 +08:00

55 lines
1.4 KiB
YAML

name: miniflux
services:
miniflux:
image: miniflux/miniflux:latest
container_name: miniflux
depends_on:
miniflux_db:
condition: service_healthy
environment:
- DATABASE_URL=postgres://miniflux:${POSTGRES_PASSWORD}@miniflux_db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- DISABLE_LOCAL_AUTH=true
- ADMIN_USERNAME=fern
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- OAUTH2_PROVIDER=oidc
- OAUTH2_CLIENT_ID=${OAUTH2_CLIENT_ID}
- OAUTH2_CLIENT_SECRET=${OAUTH2_CLIENT_SECRET}
- OAUTH2_REDIRECT_URL=https://rss.ferngarden.net/oauth2/oidc/callback
- OAUTH2_OIDC_DISCOVERY_ENDPOINT=https://auth.fern.garden/application/o/miniflux/
- OAUTH2_USER_CREATION=1
networks:
- default
- proxy
restart: unless-stopped
labels:
caddy: rss.ferngarden.net
caddy.import: internal
caddy.reverse_proxy: "{{upstreams 8080}}"
miniflux_db:
image: postgres:17-alpine
container_name: miniflux_db
volumes:
- miniflux_db:/var/lib/postgresql/data
environment:
- POSTGRES_USER=miniflux
- POSTGRES_DB=miniflux
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
networks:
- default
restart: unless-stopped
healthcheck:
test: [ "CMD", "pg_isready", "-U", "miniflux" ]
interval: 10s
start_period: 30s
networks:
default:
proxy:
external: true
volumes:
miniflux_db:
name: miniflux_db