networks: reverse_proxy: external: true miniflux: driver: overlay volumes: linkding_data: miniflux_db: services: miniflux: image: miniflux/miniflux:latest restart: unless-stopped networks: - miniflux - reverse_proxy environment: DATABASE_URL: "user='${MF_DB_USER}' password='${MF_DB_PASS}' dbname=miniflux host=miniflux_db sslmode=disable" RUN_MIGRATIONS: 1 BASE_URL: https://rss.alecodes.page LOG_LEVEL: debug 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.miniflux.rule=Host(`rss.alecodes.page`) # - traefik.http.services.miniflux.loadbalancer.server.port=8080 miniflux_db: image: postgres:latest 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} adminer: image: adminer restart: always networks: - reverse_proxy - miniflux deploy: placement: constraints: - node.labels.services_kind==${SERVICE_KIND:-common} labels: - traefik.enable=true - traefik.http.routers.miniflux.rule=Host(`rss.alecodes.page`) - traefik.http.services.miniflux.loadbalancer.server.port=8080 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