nextcloud-deployment.yaml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. apiVersion: v1
  2. kind: Service
  3. metadata:
  4. name: nextcloud-server
  5. namespace: nextcloud
  6. labels:
  7. app: nextcloud
  8. spec:
  9. selector:
  10. pod-label: nextcloud-server-pod
  11. type: NodePort
  12. ports:
  13. - port: 80
  14. nodePort: 30580
  15. targetPort: nextcloud
  16. ---
  17. apiVersion: apps/v1
  18. kind: Deployment
  19. metadata:
  20. name: nextcloud-server
  21. namespace: nextcloud
  22. labels:
  23. app: nextcloud
  24. spec:
  25. replicas: 1
  26. selector:
  27. matchLabels:
  28. pod-label: nextcloud-server-pod
  29. template:
  30. metadata:
  31. labels:
  32. pod-label: nextcloud-server-pod
  33. spec:
  34. containers:
  35. - name: nextcloud
  36. image: nextcloud:34.0.4-apache
  37. volumeMounts:
  38. - name: server-storage
  39. mountPath: /var/www/html
  40. subPath: server-data
  41. ports:
  42. - containerPort: 80
  43. name: nextcloud
  44. env:
  45. - name: NEXTCLOUD_TRUSTED_DOMAINS
  46. value: "nextcloud.reymota.es"
  47. # Permite a Nextcloud confiar en el proxy Nginx externo
  48. - name: TRUSTED_PROXIES
  49. value: "10.34.0.0/24 10.96.0.0/12 192.168.1.0/24" # Pod CIDR Calico, Service CIDR y red de nodos
  50. # Fuerza a Nextcloud a generar todos los enlaces internos usando HTTPS
  51. - name: OVERWRITEPROTOCOL
  52. value: "https"
  53. # Define el host externo que ve el usuario final
  54. - name: OVERWRITEHOST
  55. value: "nextcloud.reymota.es"
  56. # Credenciales de Administrador para Nextcloud
  57. - name: NEXTCLOUD_ADMIN_USER
  58. valueFrom:
  59. secretKeyRef:
  60. name: nextcloud-creds
  61. key: admin-user
  62. - name: NEXTCLOUD_ADMIN_PASSWORD
  63. valueFrom:
  64. secretKeyRef:
  65. name: nextcloud-creds
  66. key: admin-pass
  67. - name: POSTGRES_HOST
  68. value: k8s-postgres-cluster-rw.k8s-pg-cluster.svc.cluster.local
  69. - name: POSTGRES_DB
  70. value: nextcloud
  71. - name: POSTGRES_USER
  72. valueFrom:
  73. secretKeyRef:
  74. name: nextcloud-creds
  75. key: db-user
  76. - name: POSTGRES_PASSWORD
  77. valueFrom:
  78. secretKeyRef:
  79. name: nextcloud-creds
  80. key: db-pass
  81. volumes:
  82. - name: server-storage
  83. persistentVolumeClaim:
  84. claimName: dbnc-pv-claim