networks: reverse-proxy: external: true miniflux: volumes: linkding_data: miniflux_db: services: miniflux: image: miniflux/miniflux:latest restart: unless-stopped depends_on: - miniflux_db networks: - miniflux - reverse-proxy environment: DATABASE_URL: postgres://${MF_DB_USER}:${MF_DB_PASS}@miniflux_db/miniflux?sslmode=disable RUN_MIGRATIONS: 1 BASE_URL: https://rss.alecodes.page OIDC_ENABLED: 1 DISABLE_LOCAL_AUTH: 1 OAUTH2_USER_CREATION: 1 OAUTH2_PROVIDER: oidc OAUTH2_OIDC_DISCOVERY_ENDPOINT: https://auth.alecodes.page OAUTH2_REDIRECT_URL: https://rss.alecodes.page/oauth2/oidc/callback OAUTH2_CLIENT_ID: ${MF_OIDC_CLIENT_ID} OAUTH2_CLIENT_SECRET: ${MF_OIDC_CLIENT_SECRET} deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} labels: - traefik.enable=true - traefik.http.routers.freshrss.rule=Host(`rss.alecodes.page`) - traefik.http.services.freshrss.loadbalancer.server.port=8080 miniflux_db: image: postgres:15 networks: - miniflux environment: - POSTGRES_USER=${MF_DB_USER} - POSTGRES_PASSWORD=${MF_DB_PASS} - POSTGRES_DB=miniflux volumes: - miniflux_db:/var/lib/postgresql/data healthcheck: test: ["CMD", "pg_isready", "-U", "miniflux"] interval: 10s start_period: 30s deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} linkding: image: sissbruecker/linkding:latest restart: unless-stopped networks: - reverse-proxy volumes: - linkding_data:/etc/linkding/data" environment: LD_ENABLE_OIDC: "True" OIDC_OP_AUTHORIZATION_ENDPOINT: https://auth.alecodes.page/api/oidc/authorization OIDC_OP_TOKEN_ENDPOINT: https://auth.alecodes.page/api/oidc/token OIDC_OP_USER_ENDPOINT: https://auth.alecodes.page/api/oidc/userinfo OIDC_OP_JWKS_ENDPOINT: https://auth.alecodes.page/jwks.json OIDC_RP_CLIENT_ID: ${LD_OIDC_CLIENT_ID} OIDC_RP_CLIENT_SECRET: ${LD_OIDC_CLIENT_SECRET} LD_CSRF_TRUSTED_ORIGINS: https://bookmarks.alecodes.page deploy: rollback_config: failure_action: continue update_config: delay: 2s failure_action: rollback order: start-first placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} labels: - traefik.enable=true - traefik.http.routers.linkding.rule=Host(`bookmarks.alecodes.page`) - traefik.http.services.linkding.loadbalancer.server.port=9090