# 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 spec: ingressClassName: traefik rules: - host: freshrss.k3s.kun.is http: paths: - path: / pathType: Prefix backend: service: name: freshrss port: number: 80