apiVersion: apps/v1 kind: Deployment metadata: name: app-memos spec: replicas: 1 # Pour les bases de données type SQLite, on reste sur 1 pod pour éviter la corruption selector: matchLabels: app: notes template: metadata: labels: app: notes spec: containers: - name: memos image: neosmemo/memos:stable ports: - containerPort: 5230 volumeMounts: - name: data mountPath: /var/opt/memos # Chemin où Memos stocke sa base de données volumes: - name: data persistentVolumeClaim: claimName: pvc-apprentissage --- apiVersion: v1 kind: Service metadata: name: svc-notes spec: ports: - port: 80 targetPort: 5230 # Memos écoute sur le 5230 par défaut selector: app: notes --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress-notes annotations: traefik.ingress.kubernetes.io/router.entrypoints: websecure spec: tls: - hosts: - apprentissage.teyssier.lan secretName: apprentissage-tls rules: - host: apprentissage.teyssier.lan http: paths: - path: / pathType: Prefix backend: service: name: svc-notes port: number: 80