Aller au contenu

Nextcloud (cloud personnel)

Nextcloud 🡕 héberge les fichiers, agendas et contacts du réseau. Le service est relié à Kanidm : aucun mot de passe Nextcloud à créer, le compte du réseau suffit.

Sur les postes, le client de bureau est installé et déjà rattaché au compte. Aucune synchronisation n’est mise en place d’office.

etc/config.yaml
hosts:
- hostname: "server1"
profile: "server"
services:
nextcloud:
title: "Mon cloud"
domain: "cloud"

Les secrets du service se génèrent avec ceux du reste du parc, à lancer avant le premier déploiement :

Fenêtre de terminal
just configure-admin-host
SecretRôle
nextcloud-admin-passwordCompte d’administration local
nextcloud-whiteboard-secretJeton partagé avec le tableau blanc
oidc-secret-nextcloud…Client OAuth2 du service auprès de Kanidm

Aucun de ces trois secrets n’a de sens pour un humain : ils sont tirés au hasard. Le nom du dernier suit le sous-domaine déclaré (oidc-secret-nextcloud si le service répond sur nextcloud, oidc-secret-nextcloud-cloud s’il répond sur cloud).

OptionDéfautEffet
darkone.service.nextcloud.pluginscalendar, contactsApplications activées
darkone.service.nextcloud.adminUseradminNom du compte d’administration
darkone.service.nextcloud.enableSsoRedirecttrueRenvoie directement vers Kanidm

Avec enableSsoRedirect, Nextcloud n’affiche plus son formulaire de connexion et envoie l’utilisateur vers Kanidm. Un clic de moins à chaque connexion, y compris pour le client de bureau.

notify_push est activé : les postes reçoivent les changements par websocket au lieu d’interroger le serveur toutes les trente secondes. Charge serveur nettement réduite, synchronisation quasi immédiate.

Vérification depuis le serveur :

Fenêtre de terminal
sudo -u nextcloud nextcloud-occ notify_push:self-test

Le test réclame l’URL publique du service, donc le reverse proxy de la zone doit être joignable. L’unité réessaie pendant quinze minutes après un déploiement, le temps que la passerelle finisse de démarrer.

Le client est installé dès qu’un service nextcloud existe sur le réseau.

OptionDéfautEffet
darkone.home.office.nextcloud.enableservice détectéInstalle le client de bureau
darkone.home.office.nextcloud.servernullForce une autre instance
darkone.home.office.nextcloud.enableAutoStarttrueDémarre en arrière-plan à l’ouverture de session
darkone.home.office.nextcloud.enableWebdavtrueFournit l’assistant de liaison du compte
darkone.home.office.nextcloud.syncDirnullDossier proposé dans l’assistant

nextcloud.server accepte n’importe quelle URL, y compris une instance externe au réseau.

Deux lanceurs seulement apparaissent dans le menu des applications :

LanceurOrigineRôle
Client de synchronisation Nextcloudpaquet nextcloud-clientSynchronise un dossier local
Webdav Loginframework, si enableWebdavRattache le compte au bureau (fichiers, agenda, contacts)

Tout le reste (compte, dossiers, pause) se règle depuis l’icône de barre d’état : le framework n’ajoute plus de lanceur de réglages.

Deux réglages du module GNOME la rendent visible. Un poste sous un autre bureau doit fournir l’équivalent.

RéglageValeurPourquoi
Extension GNOMEstatus-tray 🡕appindicator, l’ancienne, n’affiche plus l’icône du client
qt.platformThemeqt5ctgnome prive toutes les applications Qt de barre d’état
  1. À l’ouverture de session, la fenêtre du client s’ouvre, l’adresse du serveur est déjà remplie.
  2. L’utilisateur clique sur Se connecter : le navigateur s’ouvre sur Kanidm, où sa session est en général déjà active.
  3. Il autorise l’accès. Aucun mot de passe n’est saisi.
  4. L’assistant propose enfin de choisir un dossier. Il peut tout fermer ici sans rien synchroniser : le compte reste connecté.

Accès aux fichiers, à l’agenda et aux contacts

Section intitulée « Accès aux fichiers, à l’agenda et aux contacts »

Pour parcourir ses fichiers depuis le gestionnaire de fichiers sans rien synchroniser, l’utilisateur lance Webdav Login depuis le menu des applications, ou nextcloud-webdav-login dans un terminal.

  1. Le navigateur s’ouvre sur Kanidm, l’utilisateur autorise l’accès.
  2. L’assistant enregistre un compte en ligne GNOME : le partage apparaît dans le gestionnaire de fichiers, l’agenda et les contacts dans Evolution.
  3. Rien d’autre à saisir. L’assistant affiche tout de même le mot de passe d’application, utilisable depuis n’importe quel autre client WebDAV.

L’adresse pré-remplie ne vaut que pour la création du compte dans l’assistant. Un poste qui en porte déjà un (hérité d’une instance antérieure, par exemple) le conserve tel quel, avec son ancienne adresse : le client s’affiche alors « hors ligne », figé, sans aucune action possible.

Fenêtre de terminal
systemctl --user stop nextcloud-client.service
rm -rf ~/.config/Nextcloud
systemctl --user start nextcloud-client.service

Le compte en ligne, lui, se réinitialise depuis Paramètres → Comptes en ligne, ou simplement en relançant l’assistant.

Nextcloud refuse de sauter une version majeure. La version est épinglée dans le module, à faire évoluer une majeure à la fois, après avoir vérifié que l’instance annonce bien la précédente. La procédure complète, sauvegarde comprise, est décrite dans Services.

SymptômePiste
Connexion impossible pour l’administrateurPasser par /login?direct=1
Synchronisation lente sur les postesnotify_push:self-test sur le serveur
Le tableau blanc ne répond paswhiteboard absent de plugins, ou just configure-admin-host jamais relancé depuis
Le client redemande son autorisation à chaque sessionTrousseau de session non déverrouillé
Le client affiche un compte inconnu, hors ligneConfiguration antérieure : vider ~/.config/Nextcloud
Le partage demande un mot de passe dans le gestionnaire de fichiersAssistant jamais lancé, ou trousseau verrouillé
Aucune icône dans la barre d’état, donc aucun accès aux réglagesExtension status-tray désactivée, ou qt.platformTheme remise à gnome