Catégories
sysadmin

Quick Deploy #001 – NextCloud


Parfois on a juste besoin d’un service vite fait bien fait, et que ça « juste marche » comme dirait un collègue. C’est dans cette quête de service incontrôlée que l’on a parfois besoin que ça fonctionne sans considération des paramètres environnementaux et des exigences que l’on pourrait s’imposer.



Contexte

J’ai déjà parlé de la sauvegarde Cloud, que j’utilisais personnellement pour les fichiers les plus importants. A l’heure du numérique même si on se remet dans un contexte où la vie est certainement plus importante, et son éphémérité sa véritable quintessence, on peut quand même avoir besoin de sauvegarder quelques fichiers…

Dans quelques jours mon abonnement Office 365 prend fin, j’aurais pu continuer dans le même schéma, mais le but est à défaut de faire mieux, de faire différent. Alors on prend ses petites mimines et en 2 temps 3 mouvements on s’installe un petit NextCloud.

Bonus

Changer le StorageClass par défaut, c’est par ici.

Installation de NextCloud avec Helm

Prérequis

Extraction des valeurs

kubectl create namespace nextcloud
helm show values stable/nextcloud >> nextcloud.values.yml

Modification des valeurs

Voici la liste des valeurs que vous pouvez modifier (dans le fichier nouvellement créé) :

  • nextcloud.host : nom de domaine
  • nextcloud.password : ce que vous voulez
  • internalDatabase.enabled=false : pour installer mariadb
  • externalDatabase.enabled=true : pounr activer mariadb
  • externalDatabase.password : ce que vous voulez
  • mariadb.enabled=true : pour activer le container mariadb
  • mariadb.db.password : correspond au password d’externalDatabase
  • mariadb.persistence.enabled=true
  • redis.enabled=true : pour activer le cache redis et avoir une appli un poil plus réactive
  • persistence.enabled=true : pour le stockage de fichiers

Déploiement de NextCloud

helm upgrade --install nextcloud -f nextcloud.values.yml -n nextcloud stable/nextcloud

Note : par défaut le déploiement est très bien adapté à un cluster en déployant Mariadb en master/slave ainsi que Redis. On peut aussi augmenter le nombre de répliquas de l’application et (ou) activer le scaling horizontal…

Conclusion

Premier petit billet d’informations que l’on peut certainement trouver partout sur le net, cela me permet d’utiliser le blog en tant que bloc-notes. A bientôt…


3 réponses sur « Quick Deploy #001 – NextCloud »

Pour finaliser l’installation de nextcloud, nous pouvons aussi déployer trois fichiers :

– nextcloud-headers.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: nextcloud-headers
spec:
headers:
customFrameOptionsValue: SAMEORIGIN
frameDeny: true
contentTypeNosniff: true
browserXssFilter: true
#HSTS
stsPreload: true
forceSTSHeader: true
stsIncludeSubdomains: true
stsSeconds: 15552000

– nextcloud-redirectregex.yaml
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
name: nextcloud-redirectregex
spec:
redirectRegex:
permanent: true
regex: https://nextcloud.nomdudomaine.xxx/.well-known/(card|cal)dav
replacement: https://nextcloud.nomdudomaine.xxx/remote.php/dav/

– nextcloud-ingress.yml
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: nextcloud-ingress
namespace: nextcloud
annotations:
cert-manager.io/issuer: letsencrypt-prod
spec:
entryPoints:
– secure
routes:
– match: Host(`nextcloud.nomdudomaine.xxx`)
middlewares:
– name: nextcloud-redirectregex
– name: nextcloud-headers
kind: Rule
services:
– name: nextcloud
port: 8080
tls:
secretName: cloud-cert
options: # [11]
namespace: nextcloud # [13]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *