nixos-servers/kubernetes/freshrss.yaml

90 lines
1.6 KiB
YAML
Raw Normal View History

2024-03-23 00:14:45 +00:00
# We can use k3s's local storage provider for the persistent volume.
# https://docs.k3s.io/storage
---
apiVersion: v1
kind: ConfigMap
metadata:
name: freshrss-env
data:
TZ: Europe/Amsterdam
CRON_MIN: '2,32'
ADMIN_EMAIL: 'pim@kunis.nl'
ADMIN_PASSWORD: foo
ADMIN_API_PASSWORD: foo
PUBLISHED_PORT: '443'
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: freshrss-data
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 1Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: freshrss
labels:
app: freshrss
spec:
replicas: 1
selector:
matchLabels:
app: freshrss
template:
metadata:
labels:
app: freshrss
spec:
containers:
- name: freshrss
image: freshrss/freshrss:edge
ports:
- containerPort: 80
envFrom:
- configMapRef:
name: freshrss-env
volumeMounts:
- name: freshrss-data
mountPath: /var/www/FreshRSS/data
volumes:
- name: freshrss-data
persistentVolumeClaim:
claimName: freshrss-data
---
apiVersion: v1
kind: Service
metadata:
name: freshrss
spec:
selector:
app: freshrss
ports:
- protocol: TCP
port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: freshrss
annotations:
kubernetes.io/ingress.class: "traefik"
spec:
rules:
- host: freshrss.k3s.kun.is
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: freshrss
port:
number: 80