infra/homelab/freshrss.yaml

104 lines
2 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: freshrss
spec:
selector:
matchLabels:
app: freshrss
template:
metadata:
labels:
app: freshrss
spec:
containers:
- name: freshrss
image: freshrss/freshrss:1.22.1-arm
resources:
limits:
memory: "256Mi"
cpu: "500m"
ports:
- containerPort: 80
env:
- name: CRON_MIN
value: 1,31
envFrom:
- configMapRef:
name: freshrss-config
- secretRef:
name: freshrss-secrets
volumeMounts:
- name: data
mountPath: /var/www/FreshRSS/data
- name: extension-data
mountPath: /var/www/FreshRSS/data/extensions
volumes:
- name: data
persistentVolumeClaim:
claimName: freshrss-data
- name: extension-data
persistentVolumeClaim:
claimName: freshrss-extension-data
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: freshrss-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs-client
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: freshrss-extension-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: nfs-client
---
apiVersion: v1
kind: Service
metadata:
name: freshrss
spec:
type: ClusterIP
selector:
app: freshrss
ports:
- port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: freshrss
annotations:
cert-manager.io/issuer: "le-issuer"
namespace: default
spec:
tls:
- hosts:
- freshrss.gmem.ca
secretName: gmem-ca-wildcard
rules:
- host: freshrss.gmem.ca
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: freshrss
port:
number: 80