+++ title = 'Miniflux for Self-Hosted RSS' date = 2024-03-04T14:56:38-08:00 categories = ['Tutorial'] tags = ['meta', 'k8s', 'miniflux', 'rss'] +++ inspired by [rss-is-dead.lol][rss-dead], i decided to start self-hosting an RSS reader. the one i deployed is [Miniflux][miniflux], "a minimalist and opinionated feed reader". it's not clear to me what its opinions are, but i do like the simple pinboardesque interface. ![dark miniflux interface](images/miniflux.png) i deployed it using the [Helm chart][miniflux-helm] provided by Gabe365. this chart seems to be part of the splintering of `k8s-at-home`. it does the trick, but i had to work around a few issues: 1. ingress configuration is unusual; especially i had to explictly provide a `seceretName` to `tls` configuration. 1. getting postgres configured without including the password in `values.yaml` was a little challenging. i had to use `existingSecret` (which is supported by the upstream bitnami chart), but using it in the existing chart required: - the existing seceret be named according to a specific pattern `{{ $.Release.Name }}-postgresql`; - [provide a dummy `postgresql.auth.password`][miniflux-code] to avoid the `miniflux` chart using the admin password {{< code-details summary="`values.yaml`" lang="yaml" details=` ingress: main: enabled: true className: nginx annotations: cert-manager.io/cluster-issuer: letsencrypt-prod hosts: - host: read.estradiol.cloud paths: - path: / tls: - hosts: - read.estradiol.cloud secretName: miniflux-tls postgresql: enabled: true auth: database: miniflux username: miniflux password: usused-chart-hack existingSecret: miniflux-postgresql persistence: enabled: true size: 10Gi ` >}} [miniflux]: https://miniflux.app/ [miniflux-helm]: https://charts.gabe565.com/charts/miniflux/ [miniflux-code]: https://github.com/gabe565/charts/blob/aa3c133d553d9eb3b2b6585a6ce0748babcfab20/charts/miniflux/templates/common.yaml#L17 [rss-dead]: https://rss-is-dead.lol