61 lines
2.1 KiB
Markdown
61 lines
2.1 KiB
Markdown
|
+++
|
||
|
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
|