diff options
| author | Paul Buetow <paul@buetow.org> | 2025-08-08 17:09:46 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-08-08 17:09:46 +0300 |
| commit | 5faa05b2e0e5600dfe3feb13f6de87500167abca (patch) | |
| tree | e204a340808bd3f7d8fd31395f93811449f63590 /f3s/freshrss | |
| parent | dd81326dd7509c52d3ec0c59be1aa1becbe1dda8 (diff) | |
initial freshrss
Diffstat (limited to 'f3s/freshrss')
| -rw-r--r-- | f3s/freshrss/Justfile | 6 | ||||
| -rw-r--r-- | f3s/freshrss/README.md | 29 | ||||
| -rw-r--r-- | f3s/freshrss/helm-chart/Chart.yaml | 6 | ||||
| -rw-r--r-- | f3s/freshrss/helm-chart/templates/deployment.yaml | 44 | ||||
| -rw-r--r-- | f3s/freshrss/helm-chart/templates/ingress.yaml | 21 | ||||
| -rw-r--r-- | f3s/freshrss/helm-chart/templates/persistent-volumes.yaml | 28 |
6 files changed, 134 insertions, 0 deletions
diff --git a/f3s/freshrss/Justfile b/f3s/freshrss/Justfile new file mode 100644 index 0000000..5dbd7fc --- /dev/null +++ b/f3s/freshrss/Justfile @@ -0,0 +1,6 @@ +apply: + helm install freshrss ./helm-chart --namespace services --create-namespace + +delete: + helm uninstall freshrss --namespace services + diff --git a/f3s/freshrss/README.md b/f3s/freshrss/README.md new file mode 100644 index 0000000..a0295b2 --- /dev/null +++ b/f3s/freshrss/README.md @@ -0,0 +1,29 @@ +# FreshRSS Helm Chart + +This chart deploys FreshRSS using a single Deployment, Service, Ingress, and a hostPath-backed PersistentVolume/PersistentVolumeClaim for data. + +## Prerequisites + +Before installing the chart, you must manually create the hostPath directory used by the PersistentVolume (see `templates/persistent-volumes.yaml`): + +- `/data/nfs/k3svolumes/freshrss/data` + +Example commands: + +```bash +sudo mkdir -p /data/nfs/k3svolumes/freshrss/data +# Optional: ensure write permissions for the container user (often UID/GID 33) +sudo chown -R 33:33 /data/nfs/k3svolumes/freshrss/data +``` + +## Installing the Chart + +To install the chart with the release name `freshrss`, run: + +```bash +helm install freshrss . --namespace services --create-namespace +``` + +## Access + +- Ingress host: `freshrss.f3s.lan.buetow.org` diff --git a/f3s/freshrss/helm-chart/Chart.yaml b/f3s/freshrss/helm-chart/Chart.yaml new file mode 100644 index 0000000..05cd76a --- /dev/null +++ b/f3s/freshrss/helm-chart/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: freshrss +description: A Helm chart for deploying FreshRSS. +version: 0.1.0 +appVersion: "latest" + diff --git a/f3s/freshrss/helm-chart/templates/deployment.yaml b/f3s/freshrss/helm-chart/templates/deployment.yaml new file mode 100644 index 0000000..1277c62 --- /dev/null +++ b/f3s/freshrss/helm-chart/templates/deployment.yaml @@ -0,0 +1,44 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: freshrss + namespace: services +spec: + replicas: 1 + selector: + matchLabels: + app: freshrss + template: + metadata: + labels: + app: freshrss + spec: + containers: + - name: freshrss + image: freshrss/freshrss:latest + ports: + - containerPort: 80 + volumeMounts: + - name: freshrss-data + mountPath: /var/www/FreshRSS/data + volumes: + - name: freshrss-data + persistentVolumeClaim: + claimName: freshrss-data-pvc +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: freshrss + name: freshrss-service + namespace: services +spec: + ports: + - name: web + port: 80 + protocol: TCP + targetPort: 80 + selector: + app: freshrss + diff --git a/f3s/freshrss/helm-chart/templates/ingress.yaml b/f3s/freshrss/helm-chart/templates/ingress.yaml new file mode 100644 index 0000000..3d1c892 --- /dev/null +++ b/f3s/freshrss/helm-chart/templates/ingress.yaml @@ -0,0 +1,21 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: freshrss-ingress + namespace: services + annotations: + spec.ingressClassName: traefik + traefik.ingress.kubernetes.io/router.entrypoints: web +spec: + rules: + - host: freshrss.f3s.lan.buetow.org + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: freshrss-service + port: + number: 80 + diff --git a/f3s/freshrss/helm-chart/templates/persistent-volumes.yaml b/f3s/freshrss/helm-chart/templates/persistent-volumes.yaml new file mode 100644 index 0000000..813d2ac --- /dev/null +++ b/f3s/freshrss/helm-chart/templates/persistent-volumes.yaml @@ -0,0 +1,28 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: freshrss-data-pv +spec: + capacity: + storage: 1Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + hostPath: + path: /data/nfs/k3svolumes/freshrss/data + type: Directory +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: freshrss-data-pvc + namespace: services +spec: + storageClassName: "" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + |
