Documentation CloudZH
Tout ce qu’il te faut pour installer CloudZH, configurer tes apps médias, inviter tes amis et garder le serveur en bonne santé.
Ce qu’est CloudZH
CloudZH transforme une machine Linux à la maison (Ubuntu, Debian ou Raspberry Pi OS) en serveur géré. Il apporte un tableau de bord web, un App Store avec 41 apps, une médiathèque pour tes amis, un VPN WireGuard, des contrôles de santé avec réparations sûres, et la commande zh sur le serveur.
Comment il est construit
| Composant | Ce qu’il fait |
| Caddy | Le seul point d’entrée. HTTPS pour chaque sous-domaine avec un certificat wildcard. Les apps d’administration ne sont accessibles qu’après la connexion au tableau de bord. |
| Tableau de bord | L’interface web. Tourne sans privilèges dans un conteneur durci. |
| Agent | Un petit service root avec une liste fixe de commandes, joint via un socket Unix. Installe les apps, lance les réparations, lit les journaux. |
| Apps | Docker Compose, un dossier par app sous /opt/cloudzh/apps, les données sous /srv/data. |
| Composants natifs | WireGuard et UniFi OS Server tournent hors de Docker. Ils s’installent uniquement avec zh sur le serveur. |
Ce que CloudZH n’inclut pas
Pas de médias, pas d’indexeurs et pas de clients torrent. Tu apportes un fournisseur Usenet et les indexeurs de ton choix, et tu utilises les apps avec des contenus que tu as le droit d’utiliser.
Valeurs à remplacer
Les commandes et adresses de cette documentation utilisent des valeurs à remplacer. Remplace-les, chevrons compris, par tes propres valeurs.
| Valeur à remplacer | Représente | Exemple |
<user> | L’utilisateur Linux que tu as créé lors de l’installation d’Ubuntu | anna |
<server-ip> | L’adresse du serveur dans ton réseau domestique. Sur le serveur, ip -4 -br addr l’affiche sur la ligne de l’adaptateur réseau, avant le /. Ton routeur l’indique aussi parmi ses appareils. | 192.168.1.200 |
example.com | Ton propre domaine. app.example.com signifie app. suivi de ton domaine. | app.example.com |
Ainsi, ssh <user>@<server-ip> devient par exemple ssh anna@192.168.1.200.
Prérequis
Ce dont la machine, ton réseau et ton domaine ont besoin avant de lancer l’installateur.
Serveur
- Système d’exploitation : Ubuntu Server 24.04 LTS, 64 bits Intel ou AMD (x86-64). Pars d’une installation neuve.
- Processeur et mémoire : au moins 4 cœurs et 8 Go, 16 Go si UniFi OS Server tourne aussi. Prévois davantage pour Immich, Tdarr ou beaucoup d’utilisateurs en streaming simultané.
- Disques : un SSD pour le système, et un disque séparé ou un NVMe pour tes médias, monté sur
/srv/data.
- Accès : un utilisateur avec les droits
sudo et SSH.
Réseau
- Branche le serveur par câble. Le Wi-Fi fonctionne, mais les téléchargements, Plex et le VPN en pâtissent, et un contrôleur UniFi ne doit jamais dépendre de son propre point d’accès.
- Donne au serveur une adresse fixe dans ton routeur (réservation DHCP), par exemple
192.168.1.200. La doc l’appelle <server-ip>, voir Préparer le serveur.
- Avec un domaine, redirige TCP 443 de ton routeur vers le serveur. Pour le VPN, aussi UDP 51820.
Domaine
Facultatif. Sans domaine, CloudZH fonctionne en mode LAN, uniquement dans ton réseau domestique. Voir Domaine ou réseau domestique.
- Un domaine dont la zone DNS est gérée par Cloudflare.
- Un jeton API Cloudflare avec l’autorisation Zone · DNS · Edit pour cette zone. N’utilise pas la Global API Key.
Licence
- Une clé de licence (
CZL-XXXXX-XXXXX-XXXXX-XXXXX) et une clé d’installation (CZI-XXXXX-XXXXX-XXXXX) issues de ton e-mail de licence. La clé d’installation vaut pour un seul serveur et uniquement jusqu’à la date indiquée dans l’e-mail.
Comptes facultatifs
- Un compte Plex, un fournisseur Usenet et au moins un indexeur Usenet.
- Une clé API d’un fournisseur d’IA si tu veux utiliser l’assistant.
Installation
Environ 15 minutes d’un Ubuntu tout neuf à la première connexion.
Première fois ?Le guide client explique chaque étape, de ton compte et de l’e-mail de licence jusqu’à Ubuntu et la première connexion.
<user> est l’utilisateur Linux que tu as créé lors de l’installation d’Ubuntu, <server-ip> l’adresse du serveur dans ton réseau domestique, par exemple 192.168.1.200. Sur le serveur, ip -4 -br addr l’affiche sur la ligne de l’adaptateur réseau. Plus d’infos dans Valeurs à remplacer.
Mettre à jour Ubuntu
sudo apt update && sudo apt full-upgrade -y
sudo reboot
Copier l’installateur sur le serveur
Télécharge l’installateur dans ton compte client sous My licences → Download installer, un fichier nommé par exemple cloudzh-0.35.0-stable-customer.tar.gz. La page affiche aussi sa somme de contrôle SHA-256. Copie-le depuis ton ordinateur, puis décompresse-le sur le serveur. <file> est le nom du fichier de l’installateur :
scp <file> <user>@<server-ip>:~
ssh <user>@<server-ip>
mkdir -p ~/cloudzh && tar xzf ~/<file> -C ~/cloudzh --strip-components=1
cd ~/cloudzh
Lance l’installateur
L’installateur demande ton domaine (laisse vide pour le mode LAN), le jeton Cloudflare, ta clé de licence et la clé d’installation. Pour passer les clés sans questions :
sudo CZH_LICENSE_KEY=CZL-XXXXX-XXXXX-XXXXX-XXXXX \
CZH_INSTALL_KEY=CZI-XXXXX-XXXXX-XXXXX bash install.sh
À la fin, il affiche l’adresse du tableau de bord, un jeton de configuration et, sur un nouveau serveur, l’emplacement de la clé de sauvegarde. Enregistre la clé de sauvegarde dans ton gestionnaire de mots de passe ; sans elle, les sauvegardes ne peuvent pas être ouvertes :
sudo cat /etc/cloudzh/backup.key
Se connecter et vérifier
Ouvre l’adresse du tableau de bord, saisis le jeton de configuration et crée ton administrateur. Jeton perdu ? zh token l’affiche à nouveau. Ensuite, sur le serveur :
Continue avec Domaine & HTTPS et Premiers pas.
Ce que l’installateur met en place
- Docker, Caddy, le tableau de bord et l’agent comme services systemd
- L’arborescence de données sous
/srv/data (voir Organisation des données)
- Fail2Ban et l’accueil SSH avec un court état
- Le kit de diagnostic : test de débit,
mtr, iperf3, dig, smartctl, sensors, ethtool, iw, htop, ncdu
- La commande
zh pour chaque utilisateur avec les droits sudo
Déjà installé ?Active une licence sur un serveur existant avec zh license activate ou dans le tableau de bord sous Mon compte → Abonnement.
Domaine & HTTPS
CloudZH donne à chaque app sa propre adresse HTTPS sous ton domaine, avec un seul certificat wildcard.
Sur cette page, example.com représente ton propre domaine et <server-ip> l’adresse du serveur à la maison, par exemple 192.168.1.200. Pas de domaine ? CloudZH fonctionne alors en mode LAN, voir Domaine ou réseau domestique.
Enregistrements DNS
Crée un enregistrement wildcard qui pointe vers ton adresse IP publique. Ton domaine racine et ta messagerie peuvent rester où ils sont.
| Type | Nom | Valeur | Proxy |
| A | * | ton IP publique | DNS uniquement |
Ton IP publique : sur le serveur, curl -4 -s https://ifconfig.me.
Les adresses que tu obtiens
| Adresse | Utilisation |
app.example.com | Tableau de bord. L’installateur demande le sous-domaine et propose dash. |
plex.example.com | Plex, pour les apps et les amis hors de chez toi |
sonarr.example.com et autres | Apps d’administration, derrière la connexion au tableau de bord |
vpn.example.com | Point de terminaison WireGuard. Doit pointer directement vers ton IP, jamais à travers le proxy Cloudflare. |
Ton domaine principal
Sans autre configuration, example.com lui-même redirige vers le tableau de bord, mais il peut tout aussi bien continuer de pointer vers ton site web ou ton hébergeur de messagerie existant. Pour servir plutôt un site statique depuis le serveur, fais pointer l’enregistrement racine vers ton IP et publie un dossier contenant un index.html :
zh website deploy /home/<user>/my-site
zh website on
zh website status # shows whether the DNS records already point here
www.example.com redirige alors vers example.com, et zh website rollback rétablit la version précédente.
Certificat
Caddy demande le certificat wildcard via la vérification DNS de Cloudflare (DNS-01), donc pas besoin du port 80. Saisis ton jeton API quand l’installateur le demande ; zh cloudflare-token le vérifie et le remplace plus tard. System Health indique quand le certificat est valide.
Dans ton réseau domestique
Depuis la maison, app.example.com se résout vers ton IP publique et fait l’aller-retour par le routeur. Beaucoup de routeurs gèrent cela lentement. Ajoute une entrée hosts sur ton ordinateur pour aller directement au serveur :
<server-ip> app.example.com
Par exemple 192.168.1.200 app.example.com. Windows : C:\Windows\System32\drivers\etc\hosts. macOS et Linux : /etc/hosts. Le diagnostic de performances t’indique quand c’est utile.
Premiers pas
Cet ordre laisse la connexion automatique faire l’essentiel du travail.
Sécurise ton compte. Mon compte → Connexion : ajoute une passkey ou une app d’authentification, et enregistre les codes de récupération.
Installe la partie téléchargement. App Store : SABnzbd (le formulaire demande ton serveur Usenet), puis Prowlarr, Radarr et Sonarr.
Ajoute les indexeurs uniquement dans Prowlarr. Prowlarr les synchronise avec Radarr et Sonarr. Voir
Médiathèque.
Installe Plex avec l’assistant. Clique sur
Se connecter avec Plex, choisis les bibliothèques et la langue. Voir
Assistants de configuration.
Relie les apps. Apps → Relier les apps, ou zh apps wire.
Applique les recommandations TRaSH. Apps → Recommandations TRaSH, puis Médiathèque → Qualité.
Configure le VPN. zh vpn install, redirige UDP 51820,
zh vpn add phone. Voir
VPN.
Active les règles d’accès. Sécurité : accès admin uniquement depuis la maison et le VPN, 2FA obligatoire.
Invite tes amis. Utilisateurs et droits → Invitations.
Guide client
De ton compte à un serveur qui tourne
Dix étapes courtes pour tous ceux qui ont acheté CloudZH ou veulent l’essayer. Aucune connaissance préalable nécessaire : chaque étape dit où cliquer et quoi taper.
1. Créer ton compteSur account.cloudzh.app, protégé par une passkey ou une connexion à deux facteurs. 2. Obtenir une licenceUtilise un code d’essai ou achète un abonnement. 3. Ton e-mail de licenceÀ quoi servent les deux clés, et pourquoi garder l’e-mail. 4. Préparer le serveurMatériel, Ubuntu et une adresse fixe à la maison. 5. Domaine ou réseau domestiqueHTTPS de partout, ou mode LAN à la maison seulement. 6. Installer CloudZHLance l’installateur, saisis tes clés, connecte-toi. 7. Au quotidienApps, amis, sauvegardes, mises à jour, System Health. 8. Déménager ou réinstallerLibérer un serveur, nouvelles clés, clé de licence perdue. 9. Abonnement & facturesModifier ou résilier, télécharger les factures. 10. Obtenir de l’aideDemandes de support, Discord et zh doctor.
Ce qu’il te faut
- Une adresse e-mail que tu peux lire sur ton ordinateur.
- Une machine pour le serveur : Intel ou AMD 64 bits avec au moins 4 cœurs et 8 Go de mémoire, voir étape 4.
- Un second ordinateur (Windows, macOS ou Linux) pour télécharger des fichiers et taper des commandes.
- L’accès à ton routeur, pour donner une adresse fixe au serveur.
- Facultatif : ton propre domaine avec DNS chez Cloudflare, pour un accès depuis l’extérieur.
Valeurs à remplacer
Les commandes utilisent des valeurs à remplacer. Remplace-les, chevrons compris, par tes propres valeurs.
| Valeur à remplacer | Représente | Exemple |
<user> | L’utilisateur Linux que tu crées lors de l’installation d’Ubuntu | anna |
<server-ip> | L’adresse du serveur dans ton réseau domestique. L’étape 4 montre comment la trouver. | 192.168.1.200 |
example.com | Ton propre domaine, si tu en utilises un | app.example.com |
Étape 1 sur 10
Créer ton compte
Ton compte sur account.cloudzh.app regroupe tes licences, serveurs, factures et demandes de support.
S’inscrire
Ouvre account.cloudzh.app et clique sur Create one sous le formulaire de connexion.
Saisis ton nom et ton adresse e-mail, accepte les conditions et attends que la vérification de sécurité soit passée. Clique sur Create account.
Ouvre l’e-mail Confirm your email address et clique sur Confirm email. Le lien est valable 24 heures. Rien reçu ? Vérifie ton dossier spam. Quand tu essaies de te connecter, CloudZH propose aussi Send the confirmation link again.
Définis ton mot de passe : au moins 10 caractères. Une phrase de plusieurs mots est sûre et facile à retenir. Clique sur Save and sign in.
Tu as acheté CloudZH avant d’avoir un compte ? Inscris-toi avec l’adresse e-mail utilisée lors du paiement. Tes licences apparaissent alors dans ton compte, et tu reçois un e-mail confirmant qu’elles y ont été associées.
Protéger ton compte
Quiconque se connecte à ton compte peut commander de nouvelles clés pour ta licence. Ajoute un second facteur sous Security :
| Option | Comment |
| Passkey (recommandé) | Passkeys → Add. Tu te connectes ensuite avec l’empreinte digitale, le visage ou le code PIN de ton appareil. |
| App d’authentification | Two-factor (app) → Set up. Scanne le code QR avec une app comme Google Authenticator, 1Password ou Bitwarden et saisis le code à 6 chiffres. |
CloudZH affiche ensuite des codes de récupération. Chacun fonctionne une fois si tu perds ton téléphone ou ta passkey. Garde-les dans ton gestionnaire de mots de passe.
Le menu
| Page | Ce que tu y fais |
| Vue d’ensemble | Licences actives, serveurs et demandes ouvertes en un coup d’œil |
| Licences → My licences | Licences, serveurs, clés d’installation ; libérer un serveur, réémettre une clé de licence |
| Licences → Buy | Acheter un abonnement |
| Licences → Redeem code | Codes d’essai, cadeaux et promotionnels |
| Account → Invoices | Factures, et l’accès à la gestion de ton abonnement |
| Account → Security | Passkeys, double authentification, mot de passe, nom, appareils connectés, événements récents, suppression du compte |
| Help → My requests | Tes demandes de support ; un compteur indique les nouvelles réponses |
| Help → Discord | La communauté CloudZH |
Ton adresse e-mail ne peut être modifiée que via le support.
Étape 2 sur 10
Obtenir une licence
Une licence couvre un serveur, en Standard (un compte du tableau de bord) ou en Pro (toutes les fonctions, des comptes pour ta famille et tes amis). Commence par un essai gratuit ou achète un abonnement.
Utiliser un code d’essai ou cadeau
Ouvre le lien que tu as reçu, par exemple https://account.cloudzh.app/redeem/<CODE>, ou va dans Redeem code dans ton compte et tape le code.
Sous le champ, CloudZH indique ce que le code te donne, par exemple Trial for 30 days, 1 server(s). Clique sur Redeem.
Your licence is ready : la licence apparaît sous My licences, et les clés arrivent par e-mail en quelques minutes.
Pas encore connecté ? Le lien te demande d’abord de te connecter ou de créer un compte. Si le code n’est plus rempli après la confirmation de ton e-mail, rouvre le lien ou tape-le sous Redeem code.
- Une licence d’essai couvre un serveur et se termine d’elle-même. Il y a un essai par compte et un par machine.
- Certains codes prolongent une licence que tu as déjà. CloudZH te demande laquelle.
- Les codes de réduction pour un abonnement ne vont pas ici. Saisis-les sur la page de paiement.
Acheter un abonnement
Clique sur Buy dans ton compte.
Choisis Monthly ou Yearly et le nombre de serveurs. Chaque serveur a besoin de sa propre licence.
Clique sur Continue to payment. Le paiement passe par Stripe ; le vendeur est Link (Sold through Link, LLC, a Stripe company), et les taxes sont calculées pour ton pays.
Après le paiement, tu reviens sous My licences. La licence apparaît en quelques secondes, les clés arrivent par e-mail.
Tu peux aussi acheter sous Tarifs sur ce site, sans compte. Les clés partent alors à l’adresse e-mail saisie lors du paiement. Crée ton compte plus tard avec la même adresse pour y voir la licence.
Tu as déjà un compte ?Alors achète sous Buy. La licence arrive directement dans ton compte.
Étape 3 sur 10
Ton e-mail de licence
Tes clés n’apparaissent jamais dans ton compte. Le service de licences te les envoie depuis support@cloudzh.app, généralement en quelques minutes.
Ce qu’il contient
| Ligne | Exemple | Signification |
| Formule | Monthly, 1 server | Abonnement ou essai, et le nombre de serveurs |
| Payée jusqu’au ou Valable jusqu’au | 8 Nov 2026 | La licence court jusqu’à cette date. Les abonnements se renouvellent automatiquement. |
| Clé de licence | CZL-XXXXX-XXXXX-XXXXX-XXXXX | Ta licence. Elle reste la même pendant des années, et chaque serveur la demande. |
| Clé d’installation | CZI-XXXXX-XXXXX-XXXXX | Un ticket à usage unique pour exactement un serveur, valable jusqu’à la date indiquée à côté. Un par serveur. |
Pourquoi deux clés : quelqu’un qui voit ta clé de licence sur une capture d’écran ne peut toujours pas activer de serveur sans une nouvelle clé d’installation issue de ton compte.
Les e-mails que tu reçois
| Objet | Quand | Contenu |
| Your CloudZH licence | Après un achat | Clé de licence, une clé d’installation par serveur (valable 30 jours), comment installer, comment gérer l’abonnement |
| Your CloudZH licence is ready | Après l’utilisation d’un code | Clé de licence et une clé d’installation |
| Your new installation key | Après Create installation key | Une clé d’installation, valable 7 jours |
| Your new licence key | Après Reissue licence key | La nouvelle clé de licence ; l’ancienne cesse de fonctionner |
| Additional CloudZH installation keys | Après l’ajout de serveurs à ton abonnement | Clés d’installation pour les serveurs supplémentaires |
Garde cet e-mailNous ne stockons qu’une empreinte de tes clés et ne pouvons pas les afficher à nouveau. Garde l’e-mail, ou copie les clés dans ton gestionnaire de mots de passe. Clé de licence perdue ? Réémets-la dans ton compte.
Pas d’e-mail après quelques minutes ? Vérifie ton dossier spam. Sous My licences, tu peux réémettre la clé de licence et créer une clé d’installation ; les deux arrivent à nouveau par e-mail.
L’installateur
L’installateur est un fichier nommé par exemple cloudzh-0.35.0-stable-customer.tar.gz. Télécharge-le dans ton compte client sous My licences → Download installer ; le bouton y figure dès que tu as une licence valide, issue d’un achat ou d’un code. À côté, tu trouves la somme de contrôle SHA-256 pour vérifier le téléchargement (sha256sum <file> sous Linux, Get-FileHash <file> dans PowerShell).
Étape 4 sur 10
Préparer le serveur
Un Ubuntu Server tout neuf, une adresse fixe dans ton réseau domestique et, idéalement, un second disque pour tes médias. Environ 30 minutes.
Matériel
- Processeur Intel ou AMD 64 bits avec au moins 4 cœurs, par exemple un mini PC.
- 8 Go de mémoire, 16 Go si UniFi OS Server doit aussi tourner.
- Un SSD pour le système, idéalement un second disque pour tes médias.
- Un câble réseau vers ton routeur. Le Wi-Fi fonctionne, mais les téléchargements, Plex et le VPN en pâtissent.
- Une clé USB d’au moins 4 Go pour l’installateur d’Ubuntu.
Installer Ubuntu Server
Télécharge
Ubuntu Server 24.04 LTS depuis
ubuntu.com/download/server et écris-le sur la clé USB avec Rufus (Windows) ou balenaEtcher.
Dans le BIOS, règle After Power Loss sur Power On, pour que le serveur redémarre tout seul après une coupure de courant.
Démarre le serveur depuis la clé USB et choisis :
| Écran | Choix |
| Langue | English |
| Clavier | Ta disposition de clavier |
| Type d’installation | Ubuntu Server, pas « minimized » |
| Réseau | Câble réseau, adresse par DHCP pour l’instant |
| Stockage | Tout le SSD système. Décoche Set up this disk as an LVM group, pas de chiffrement. Ne sélectionne pas le disque des médias. |
| Profil | Un nom de serveur en minuscules, par exemple mediaserver. Ton nom d’utilisateur devient <user>. Un mot de passe solide. |
| Ubuntu Pro | Ignorer pour l’instant |
| SSH | Coche Install OpenSSH server |
| Featured snaps | Ne sélectionne rien, pas même Docker |
Après le redémarrage, connecte-toi sur le serveur en tant que
<user>, règle ton fuseau horaire et mets à jour :
sudo timedatectl set-timezone Europe/Zurich # your zone; list: timedatectl list-timezones
sudo apt update && sudo apt full-upgrade -y
sudo reboot
Donner une adresse fixe au serveur
Ton routeur distribue les adresses. Réserves-en une pour le serveur afin qu’elle ne change jamais.
Sur le serveur, affiche l'adresse et l'adresse MAC de l'adaptateur réseau :
ip -4 -br addr
ip -br link
Regarde la ligne de ton adaptateur réseau : son nom commence généralement par en ou eth (Wi-Fi par wl) ; ignore lo. Exemple : enp3s0 UP 192.168.1.200/24. L’adresse avant le / est ton <server-ip>, ici 192.168.1.200. Dans la sortie de ip -br link, l’adresse MAC ressemble à aa:bb:cc:dd:ee:ff.
Dans ton routeur, crée une réservation DHCP pour cette adresse MAC, parfois appelée IP fixe ou statique. Ton routeur liste aussi le serveur parmi ses appareils avec cette adresse. Redémarre ensuite le serveur avec sudo reboot.
À partir de maintenant, travaille depuis ton ordinateur. Ouvre un terminal (Windows : PowerShell) et connecte-toi :
Par exemple ssh anna@192.168.1.200. La première fois, réponds yes, puis saisis le mot de passe de <user>.
Ne redirige jamais SSHNe redirige pas SSH dans ton routeur. Tu n’en as besoin que dans ton réseau domestique.
Second disque pour les médias
Facultatif, mais recommandé. CloudZH garde les médias et les téléchargements dans /srv/data ; monte le disque des médias à cet endroit avant d’installer. Affiche les disques :
Disque neuf et vide : formate-le. Cela efface tout sur le disque, alors vérifie deux fois le nom du périphérique. /dev/nvme0n1 est un exemple :
sudo wipefs -a /dev/nvme0n1
sudo mkfs.ext4 -L cloudzh-data /dev/nvme0n1
Disque qui contient déjà des médias : définis seulement l’étiquette, par exemple sudo e2label /dev/nvme0n1p1 cloudzh-data.
Monte-le ensuite, maintenant et après chaque redémarrage :
sudo mkdir -p /srv/data
grep -q 'LABEL=cloudzh-data' /etc/fstab || echo 'LABEL=cloudzh-data /srv/data ext4 defaults,noatime 0 2' | sudo tee -a /etc/fstab
sudo findmnt --verify
sudo systemctl daemon-reload && sudo mount -a
df -h /srv/data
Les films et séries existants vont dans /srv/data/media/movies et /srv/data/media/tv.
Étape 5 sur 10
Domaine ou réseau domestique
Décide avant d’installer : HTTPS de partout avec ton propre domaine, ou mode LAN uniquement dans ton réseau domestique.
| Mode domaine | Mode LAN |
| Tableau de bord | https://app.example.com, de partout | http://<server-ip>, à la maison seulement |
| Apps | Chacune avec sa propre adresse HTTPS, par exemple plex.example.com | Adresse du serveur et port habituel de l’app |
| Passkeys | Oui | Non, elles nécessitent HTTPS sur ton propre domaine |
| Il te faut | Un domaine avec DNS chez Cloudflare (l’offre gratuite suffit) et l’accès à ton routeur | Rien d’autre |
example.com représente ton propre domaine, <server-ip> l’adresse du serveur à la maison, par exemple 192.168.1.200.
Préparer le mode domaine
Crée un jeton API Cloudflare. Cloudflare → My Profile → API Tokens → Create Token → modèle Edit zone DNS → Zone Resources : Include, Specific zone, ton domaine → Create Token. Copie le jeton ; l’installateur le demande. Utilise un jeton API, jamais la Global API Key, et ne le colle jamais dans des chats ou des e-mails.
Ajoute un enregistrement DNS. Cloudflare → ton domaine → DNS → Records :
| Type | Nom | Valeur | Proxy |
| A | * | ton IP publique | DNS uniquement (nuage gris) |
Laisse tels quels les enregistrements existants pour ton site ou ta messagerie. Ton IP publique : sur le serveur,
curl -4 -s https://ifconfig.me. Si elle change de temps en temps, il te faut aussi un service de DNS dynamique.
Redirige un port dans ton routeur. TCP 443 vers <server-ip>, pour le tableau de bord, les apps et Plex. Plus tard pour le VPN, aussi UDP 51820. Rien d’autre.
Plus d’infos sur les adresses, le certificat et l’entrée hosts pour un accès plus rapide à la maison : Domaine & HTTPS.
Mode LAN
Laisse le domaine vide quand l’installateur le demande. Le tableau de bord s’ouvre alors sur http://<server-ip> dans ton réseau domestique.
Pour passer plus tard à un domaine, prépare-le comme ci-dessus et relance l’installateur dans son dossier (cd ~/cloudzh && sudo bash install.sh). Il demande s’il faut tout reconfigurer ; les utilisateurs et les apps restent.
Étape 6 sur 10
Installer CloudZH
Copie l’installateur sur le serveur, lance-le et saisis tes deux clés. L’installateur lui-même prend 5 à 10 minutes.
Il te faut le fichier de l’installateur depuis My licences → Download installer dans ton compte client et ton e-mail de licence. <user> et <server-ip> viennent de l’étape 4 ; <file> est le nom du fichier de l’installateur, par exemple cloudzh-0.35.0-stable-customer.tar.gz.
Copier l’installateur sur le serveur
Sur ton ordinateur, dans le dossier contenant l’installateur (Windows : PowerShell, par exemple après cd Downloads) :
scp <file> <user>@<server-ip>:~
Décompresser et lancer
ssh <user>@<server-ip>
mkdir -p ~/cloudzh && tar xzf ~/<file> -C ~/cloudzh --strip-components=1
cd ~/cloudzh && sudo bash install.sh
sudo demande le mot de passe de <user>.
Répondre aux questions
| Question | Réponse |
| Domaine (laisser vide pour le mode LAN) | Ton domaine, ou vide pour le mode LAN |
| Sous-domaine du tableau de bord | Par exemple app ; Entrée garde dash |
| E-mail pour Let's Encrypt | Ton adresse e-mail |
| Jeton API Cloudflare | Colle le jeton. Il reste invisible pendant la saisie ; l’installateur le vérifie auprès de Cloudflare. |
| Dossier de données central | Entrée, pour /srv/data |
| Clé de licence (CZL-…) | La clé de licence de ton e-mail |
| Clé d’installation (CZI-…) | Une clé d’installation de ton e-mail |
Le sous-domaine, l’e-mail et le jeton Cloudflare ne sont demandés qu’en mode domaine. Laisse la clé de licence vide pour activer plus tard avec zh license activate ; d’ici là, CloudZH fonctionne en mode restreint.
Enregistrer la clé de sauvegarde
À la fin, l’installateur affiche l’adresse du tableau de bord et un jeton de configuration. Copie la clé de sauvegarde dans ton gestionnaire de mots de passe ; sans elle, les sauvegardes ne peuvent pas être ouvertes :
sudo cat /etc/cloudzh/backup.key
/srv/data contenait déjà des médias ? Lance alors aussi sudo chown -R cloudzh:cloudzh /srv/data.
Première connexion
Ouvre l’adresse du tableau de bord : https://app.example.com avec un domaine, http://<server-ip> en mode LAN. Saisis le jeton de configuration et crée ton administrateur. Jeton perdu ? zh token l’affiche à nouveau.
Vérifier
Déconnecte-toi de SSH et reconnecte-toi une fois, puis :
Mon compte → Abonnement dans le tableau de bord affiche la licence de ce serveur.
Étape 7 sur 10
Au quotidien
Ce que tu fais une fois CloudZH en marche. Chaque partie renvoie à la page avec tous les détails.
Sécuriser ta connexion
Mon compte → Connexion : ajoute une passkey ou une app d’authentification et enregistre les codes de récupération. Dès que le VPN fonctionne, autorise l’accès admin uniquement depuis la maison et le VPN sous Sécurité.
Installer des apps
Ouvre l’App Store, choisis une app et clique sur Installer. Un bon ordre : SABnzbd, Prowlarr, Radarr et Sonarr, puis Plex avec son assistant. CloudZH les relie pour toi. Voir Premiers pas et Apps & App Store.
Inviter des amis
Utilisateurs et droits → Invitations → Inviter. Choisis les droits et les apps, la durée de validité du lien (1 à 30 jours) et le nombre de comptes qu’il peut créer, puis envoie le lien. Il n’est affiché qu’une fois. Voir Amis & droits.
Sauvegardes
Exploitation → Sauvegardes → Sauvegarder maintenant, ou sur le serveur :
Garde une copie sur une autre machine, et la clé de sauvegarde dans ton gestionnaire de mots de passe. Tes médias ne font pas partie de la sauvegarde.
Mises à jour
Une nouvelle version de CloudZH apparaît sous Nécessite votre attention dans la vue d’ensemble. Clique sur Mettre à jour, ou sur le serveur :
Paramètres → Mises à jour indique si les mises à jour sont configurées sur ton serveur. Tu as reçu une nouvelle version sous forme d’archive d’installation ? Décompresse-la et lance zh upgrade, voir Sauvegardes & mises à jour. Chaque page d’app a son propre bouton Mettre à jour pour l’app.
System Health
System Health vérifie tout le serveur. Rouge signifie un problème, jaune un avis. Les cas sûrs sont réparés automatiquement ; la plupart des autres constats ont un bouton qui les répare. Sur le serveur :
zh doctor # check
zh doctor --fix # check and run safe repairs
Voir System Health.
Étape 8 sur 10
Déménager ou réinstaller un serveur
Une licence compte les serveurs actifs. Libère la place de l'ancien serveur, puis active le nouveau avec une nouvelle clé d'installation.
Nouveau matériel ou Ubuntu réinstallé
Libère l'ancien serveur. Dans ton compte : Mes licences → Serveurs → Libérer. Ou sur l'ancien serveur avec zh license release, ou dans son tableau de bord sous Mon compte → Abonnement → Libérer. Le serveur libéré garde ses apps en marche, en mode restreint sans mises à jour.
Crée une clé d'installation. Mes licences → Créer une clé d'installation. Elle arrive par e-mail et reste valable 7 jours pour un seul serveur.
Configure le nouveau serveur comme aux
étapes 4 à 6, avec ta clé de licence et la nouvelle clé d'installation.
CloudZH est déjà installé et n'a besoin que d'une licence ? Lance zh license activate, ou passe par Mon compte → Abonnement dans le tableau de bord.
Créer une clé d'installation reste grisé tant que toutes les places sont prises. Libère d'abord un serveur, ou révoque une clé inutilisée sous Clés d'installation ouvertes → Révoquer.
Clé de licence perdue
Mes licences → Réémettre la clé de licence.
Saisis les 5 derniers caractères affichés dans la fenêtre et clique sur Réémettre.
La nouvelle clé de licence arrive par e-mail.
L'ancienne clé de licence et toutes les clés d'installation ouvertes cessent aussitôt de fonctionner. Les serveurs déjà actifs continuent de tourner. Pour un serveur pas encore configuré, crée une nouvelle clé d'installation.
Matériel changé sans libération
Si tu déplaces le disque système sur un autre matériel, le serveur continue de tourner et affiche Hardware changed. Si deux machines utilisent la même licence, une seule la garde. Libère d'abord l'ancien serveur pour l'éviter.
Étape 9 sur 10
Abonnement & factures
Link (Stripe) vend et gère ton abonnement. Ton compte affiche les factures.
Modifier ou résilier
Dans ton compte : Factures → Gérer l'abonnement → Ouvrir Link.
Connecte-toi chez Link avec l'adresse e-mail utilisée pour l'achat.
Change de moyen de paiement ou de nombre de serveurs, ou résilie.
Plus de serveurs : leurs clés d'installation arrivent par e-mail. Moins de serveurs : libère d'abord ceux que tu n'utilises plus.
Après la résiliation
L'abonnement court jusqu'à la fin de la période payée et n'est pas renouvelé. Suit une période de grâce de 7 jours, puis le mode restreint : tes apps, Plex, le VPN et les sauvegardes continuent de tourner ; les mises à jour de CloudZH, les nouvelles apps et les nouveaux utilisateurs sont suspendus. Voir Licences et la politique de remboursement.
Paiement en attente
Si un paiement échoue, Mes licences affiche Paiement en attente. Vérifie ton moyen de paiement chez Link ; sinon le serveur passe en mode restreint après la période de grâce.
Factures
Factures liste chaque facture avec numéro, date, montant et statut. Voir l'ouvre, PDF la télécharge.
Supprimer ton compte
Sécurité → Supprimer le compte, confirmé avec ton adresse e-mail. Résilie d'abord les abonnements en cours chez Link. Les factures sont conservées comme l'exige la loi.
Étape 10 sur 10
Obtenir de l'aide
La plupart des réponses se trouvent déjà sur le serveur. Sinon, écris-nous avec les bonnes informations.
À vérifier d'abord
- System Health : y a-t-il un problème avec un bouton de réparation ?
- L'assistant du tableau de bord, si tu l'as configuré : demande-lui ce qui ne va pas.
- Cette documentation : appuie sur Ctrl K et cherche.
zh status # version, server, apps and licence
zh doctor # all checks
Demande de support
Dans ton compte : Mes demandes → Nouvelle demande.
Choisis un sujet, écris un objet et décris ce qui s'est passé, ce que tu as essayé et quelle version de CloudZH tourne. Joins jusqu'à 3 fichiers de 5 MB chacun, par exemple des captures d'écran ou des journaux.
Clique sur Envoyer. Tu reçois un e-mail quand nous répondons ; lis et réponds dans ton compte, pas par e-mail.
Pas de compte ? Utilise account.cloudzh.app/support. Confirme la demande avec le lien de l'e-mail que nous t'envoyons ; nous ne la voyons qu'ensuite. Tu peux aussi écrire à support@cloudzh.app.
Discord et retours
Aide rapide de la communauté : Discord, aussi sous Aide dans ton compte et avec zh support sur le serveur. Dans le tableau de bord, Aide et retours (la bulle en haut à droite) te permet de demander une fonctionnalité ou de signaler un bug.
Quoi envoyer
- Version de CloudZH et serveur (
zh status) - Sortie de
zh doctor - Le texte de la console ou de l'erreur, copié
- Ce que tu as fait et ce que tu attendais
Avant d'envoyerRetire les clés API, mots de passe, clés de licence et ton adresse IP publique des journaux et captures d'écran.
Visite du tableau de bord
Peu d'entrées de menu, les pages liées en onglets et la vue d'ensemble triée par importance.
Barre latérale
La barre latérale a trois groupes repliables : Serveur, Administration et Compte. Les pages liées sont regroupées en onglets :
| Entrée | Onglets |
| Apps | Installé · App Store · Homelab |
| Exploitation | Services et fonctionnalités · Sauvegardes · Journaux · Performances · Commandes du serveur |
| Paramètres | Général · Apparence |
| Mon compte | Profil · Connexion · Appareils · Abonnement |
Vue d’ensemble
La vue d'ensemble est une grille de widgets. Par défaut, elle affiche d'abord Nécessite votre attention, puis Apps et Téléchargements, les chiffres du processeur, de la mémoire, du réseau et du temps de fonctionnement, puis Stockage et Activité. Les problèmes passent avant les remarques. Clique sur Personnaliser pour l'organiser à ta façon, voir Personnalisation.
Mise à jour en direct
Le point vert à côté du titre de la page indique qu'elle est en direct. Les changements faits dans un autre onglet, sur ton téléphone ou avec la commande zh s'affichent sans recharger. Si tu tapes dans un formulaire, CloudZH ne redessine pas la page et affiche Afficher les nouvelles données à la place. Après une mise à jour de CloudZH, la page se recharge d'elle-même et reste là où tu étais.
Consoles
Les installations, mises à jour et réparations ouvrent une console. Les tâches réussies se ferment après 60 secondes, celles qui échouent restent ouvertes. Réduis-les dans la barre en bas à droite ; plusieurs peuvent tourner en même temps.
Rechercher
Appuie sur Ctrl K pour aller à n'importe quelle page, app ou réglage.
Apparence et langue
Paramètres → Apparence : couleurs, thème, logo, libellés et formats, voir Personnalisation. La langue se choisit par utilisateur : English, Deutsch, Español, Français, Português ou Türkçe.
Personnalisation
Couleurs, disposition, noms et images : presque tout ce que tu vois peut être modifié, et chaque changement s'affiche aussitôt.
Widgets de la vue d'ensemble
Ouvre la vue d'ensemble et clique sur Personnaliser en haut à droite.
Déplace un widget par sa poignée, redimensionne-le par le coin inférieur droit, retire-le avec ×. Les widgets s'alignent sur une grille de 12 colonnes et les espaces se referment d'eux-mêmes.
Ajouter un widget demande d'abord le type (remarques, système, stockage, apps, médias, contenu perso), puis l'élément : une app seule en tuile, processeur, mémoire, réseau, temps de fonctionnement, espace libre, la médiathèque, une note ou un texte de bienvenue.
Clique sur Terminé pour enregistrer, sur Annuler pour abandonner.
Chaque utilisateur a sa propre disposition, amis compris ; ils ne reçoivent que les widgets pour lesquels ils ont les droits. Les administrateurs définissent aussi la disposition par défaut des administrateurs et la disposition par défaut des amis en mode personnalisation. Rétablir la disposition par défaut supprime ta propre disposition. Le clavier fonctionne aussi : Tab jusqu'à un widget, les flèches pour le déplacer, avec Shift pour le redimensionner.
Apparence
| Onglet | Ce que tu peux modifier |
| Couleurs | Neuf préréglages ou n'importe quelle couleur à toi (éclaircie automatiquement pour le thème sombre), clair, sombre ou comme l'appareil, barre latérale comme la page, sombre ou dans la couleur d'accent |
| Structure | Coins arrondis, moyens ou carrés ; densité compacte, normale ou aérée ; titres avec ou sans empattements ; renommer ou masquer des entrées de menu |
| Logo & images | Ton nom et ton logo à la place de CloudZH, une image et des textes pour la page de connexion, le texte de bienvenue pour les amis |
| Langue & formats | Langue par défaut, formats de date et de nombre |
Le logo, le favicon, les boutons et les graphiques prennent la couleur d'accent. Vue d'ensemble, Sécurité, Apparence et Paramètres restent toujours dans le menu ; les pages masquées restent accessibles avec Ctrl K.
Photos de profil
Mon compte → Profil : clique sur l'image ou sur Téléverser, déplace et zoome le cadrage, enregistre. CloudZH stocke une image de 256 × 256 et supprime les données de localisation de la photo. Les administrateurs peuvent modifier ou supprimer les images des autres utilisateurs dans la fenêtre utilisateur.
Masquer les adresses
Les adresses IP et MAC apparaissent floutées jusqu'à ce que tu cliques dessus, pratique pour les captures d'écran. Le bouton en forme d'œil en haut les révèle toutes pour l'onglet. Choisis ce qui est flouté sous Mon compte → Apparence.
Apps & App Store
Installe, mets à jour et supprime des apps avec une console en direct. Chaque app reçoit sa propre adresse et ses données dans une seule arborescence.
Installation
Choisis une app dans l'App Store et clique sur Installer. Certaines apps affichent d'abord un court formulaire, par exemple SABnzbd (serveur Usenet) et Plex (connexion et bibliothèques). Les apps qui créent leurs propres mots de passe, comme Paperless-ngx, Vaultwarden et Sonobarr, affichent le mot de passe de départ sur la page de l'app.
Page de l'app
Démarrer, arrêter, redémarrer, mettre à jour l'image, lire les journaux, voir le CPU et la mémoire, ouvrir l'app. Les apps d'administration s'ouvrent sur <app>.example.com derrière la connexion de ton tableau de bord (example.com représente ton domaine). En mode LAN, une app s'ouvre à l'adresse du serveur sur son port habituel.
Onglet Homelab
39 autres projets que nous avons examinés, avec leur charge (légère, moyenne, lourde), leurs prérequis et des notes : Home Assistant, Frigate, TP-Link Omada, Scrutiny, Apache Guacamole et d'autres. Ils ne s'installent pas depuis l'onglet. Utilise Ajouter ta propre app si tu en as besoin maintenant.
Tes propres apps
Ajoute ta propre app compose sous Apps. Elle reçoit une carte, un sous-domaine derrière la connexion, des journaux et des sauvegardes. Les apps perso gardent une icône à deux lettres et n'ont jamais de formulaire de configuration.
Apps natives
WireGuard et UniFi OS Server ne tournent pas dans Docker. Installe-les sur le serveur :
zh vpn install
zh unifi install
Écartés volontairement
Les clients torrent et les outils qui les entourent, Readarr (abandonné), Overseerr, Jellyseerr et Ombi (remplacés par Seerr), Unpackerr (SABnzbd décompresse lui-même), les autres tableaux de bord et gestionnaires Docker.
Assistants de configuration & liaison automatique
Renseigne les détails une fois à l'installation. CloudZH relie le reste.
Assistant Plex
- Clique sur Se connecter avec Plex. Une fenêtre de connexion Plex s'ouvre (connexion officielle par code PIN).
- Choisis le nom du serveur, les bibliothèques (Films, Séries, Musique en option), les dossiers et la langue des métadonnées.
- CloudZH revendique le serveur, crée les bibliothèques, saisit ton réseau domestique et l'adresse
https://plex.example.com:443 (avec ton domaine).
Ton token PlexLe token du compte Plex reste uniquement dans la mémoire du tableau de bord, 30 minutes au plus, et n'est jamais écrit sur le disque, dans les journaux ou dans le navigateur.
Relier les apps
Après chaque installation, dans n'importe quel ordre, CloudZH ajoute les liaisons manquantes. Relance-le avec Apps → Relier les apps ou :
| App | CloudZH renseigne | Reste à faire |
| Sonarr, Radarr, Lidarr | Dossiers racine, SABnzbd comme client de téléchargement, corbeille (7 jours) | Rien |
| Prowlarr | Sonarr, Radarr, Lidarr ; SABnzbd avec la catégorie prowlarr | Indexeurs |
| Tautulli | Adresse Plex, ID du serveur, token dédié | Rien |
| Seerr | Plex et toutes les bibliothèques, Sonarr et Radarr avec le profil CloudZH, Tautulli | Rien |
| Maintainerr | Plex, Sonarr, Radarr, Tautulli, Seerr | Tes règles |
| Bazarr | Sonarr, Radarr, allemand + anglais, sources de sous-titres gratuites | Compte OpenSubtitles en option |
| Lingarr | Radarr, Sonarr, anglais → allemand | Clé du service de traduction |
| UmlautAdaptarr | Sonarr, Lidarr, proxy dans Prowlarr | Tag sur les indexeurs |
| LazyLibrarian | Catégories SABnzbd, dossiers, Prowlarr | Rien |
| Kometa, SuggestArr | Plex (SuggestArr aussi Seerr) | Clé TMDb |
| Sonobarr | Lidarr | Clé Last.fm |
| Requestrr | Sonarr, Radarr | Token du bot Discord |
Les apps avec leur propre compte admin (Jellyfin, Immich, Kavita, Audiobookshelf, Navidrome, Wizarr) te demandent de le créer à la première ouverture.
Un appareil Plex par appChaque app qui parle à Plex reçoit son propre token. Dans Plex, elles apparaissent sous Appareils autorisés comme « CloudZH Tautulli », « CloudZH Seerr » et ainsi de suite, pour que tu puisses en révoquer une sans toucher aux autres.
Recommandations TRaSH
Apps → Recommandations TRaSH (ou zh apps tune) règle le nommage, la gestion des médias et le traitement des téléchargements dans Radarr et Sonarr, ainsi que les options SABnzbd recommandées, avec les valeurs des TRaSH Guides. Il s'exécute une fois automatiquement après l'installation de ces apps. Les fichiers existants gardent leur nom.
Médiathèque
Un seul endroit pour toi et tes amis pour voir ce qui est là, ce qui manque et ce qui se télécharge.
Onglets
| Onglet | Affiche |
| Téléchargé | Films et séries avec fichiers |
| Manquant | Films sans fichier et épisodes manquants par saison, avec des indications comme « pas encore sorti » ou « téléchargement 64 % » |
| Téléchargements | File d'attente avec qualité, indexeur et messages en clair |
| Indexeurs | Admins uniquement, nécessite Prowlarr : statut, requêtes, récupérations, temps de réponse, tout tester, rechercher |
Titres manquants
- Rechercher demande à Radarr ou Sonarr de chercher à nouveau et indique si un téléchargement a démarré.
- Disponibilité liste ce que les indexeurs proposent et pourquoi des releases ont été rejetées.
- Autre qualité : quand seule la qualité ne correspond pas, les releases sont regroupées par résolution. Charger en 720p télécharge la meilleure une fois. Ton profil reste le même et Radarr améliore plus tard.
Qualité
Médiathèque → Qualité propose trois modes :
- Préréglage CloudZH : 720p, 1080p (par défaut), 4K, 720p à 1080p, 1080p à 4K ou n'importe laquelle. Langue pour les films. Améliorations activées ou non. Les enregistrements caméra, screeners, images disque et remux sont toujours exclus.
- TRaSH Guides : 1080p, 4K, Remux 1080p ou Remux 4K avec la langue Originale, allemand de préférence, sinon anglais ou allemand uniquement. Nécessite Recyclarr depuis l'App Store ; CloudZH écrit son propre fichier de config et synchronise chaque jour.
- Profil perso : CloudZH ne touche pas à Radarr ni à Sonarr.
Import manuel
Certaines releases allemandes s'arrêtent à 100 % avec « Manual import required », parce que Radarr les a associées par ID et que le titre ne correspond pas. Les admins voient un bouton Importer avec un aperçu du fichier avant tout déplacement.
Indexeurs
Garde les indexeurs uniquement dans Prowlarr. Prowlarr les synchronise vers chaque app. Après le changement, supprime les anciennes entrées créées à la main dans Radarr et Sonarr, sinon chaque recherche s'exécute deux fois et épuise tes limites quotidiennes.
Amis & droits
Les amis reçoivent des comptes avec des droits par personne et n'agissent que dans la médiathèque.
Rôles et droits
Les administrateurs gèrent le serveur. Les amis reçoivent n'importe lesquels de ces droits : voir le statut, consulter la bibliothèque, ajouter des titres, supprimer des titres, voir les téléchargements. Modèles : Lecture seule, Voir et demander, Tout pour les amis.
Liens d'invitation
Utilisateurs et droits → Invitations → Inviter. Par lien : droits, apps, validité de 1 à 30 jours, 1 à 20 comptes, date de fin optionnelle pour les comptes. Le lien ne s'affiche qu'une fois ; seul un hash est stocké. L'ami choisit un nom et un mot de passe et se retrouve directement connecté.
Gérer les utilisateurs
- Recherche, filtres (admins, amis, attention, sans 2FA) et actions groupées : déconnecter, exiger un nouveau mot de passe, désactiver, supprimer.
- Renomme un utilisateur sans perdre ses sessions, passkeys ou droits. L'ancien nom reste bloqué 30 jours.
- Les amis peuvent se renommer eux-mêmes si la règle le permet (par défaut : tous les 7 jours).
- Activité par utilisateur et journal d'audit de toutes les modifications.
Sur le serveur
zh users
zh rename-user anna anna.m
zh enable-user anna
zh reset-password anna
zh reset-2fa anna
System Health
Un seul contrôle de tout le serveur, avec des réparations à lancer d'un bouton.
Ce qui est contrôlé
CloudZH lui-même, les apps, les services, les mises à jour et correctifs, le stockage, les performances, le réseau, les versions, les sauvegardes et la médiathèque. Les problèmes sont en rouge et colorent la carte du serveur en rouge. Les remarques sont en jaune.
Les services CloudZH, Docker, SSH, Fail2Ban, WireGuard et réseau en échec comptent comme des problèmes. Les autres services Ubuntu comptent comme des remarques.
Masquer des constats
Chaque problème, remarque ou info a un bouton Masquer : jusqu'à ce que quelque chose change (il revient si le constat s'aggrave ou si son titre change), ou pour 7 ou 30 jours. Les constats masqués ne comptent pas pour l'état du serveur, la barre latérale, l'assistant ni Résoudre les problèmes. Le filtre Masquées les liste avec un bouton pour les réafficher. zh doctor affiche toujours tout.
Réparations
Les réparations sont des procédures fixes dans l'agent, jamais des commandes libres. Lance-les d'un bouton ou sur le serveur :
zh doctor # check only
zh doctor --fix # check and run safe repairs
zh doctor --fix --apt # also repair Ubuntu packages
Auto-réparation
Toutes les 2 minutes, CloudZH répare seul les cas sûrs : apps plantées, tableau de bord et proxy, services importants, synchronisation de l'heure, disque plein (images Docker inutilisées seulement), certificat sur le point d'expirer et corbeille manquante dans Sonarr, Radarr et Lidarr. Un constat doit d'abord apparaître deux fois de suite, et rien ne se passe pendant une installation ou une mise à jour. Les apps arrêtées à la main et les constats masqués restent intacts. Si une réparation n'aide pas après 3 essais, tu reçois une notification et le constat reste dans la liste avec son bouton.
La section Auto-réparation de System Health montre les dernières réparations et contient l'interrupteur pour la désactiver. Sur le serveur :
zh doctor --auto # status and latest repairs
zh doctor --auto off # repairs by button only (on: back on)
Mises à jour de sécurité
Installer les mises à jour de sécurité lance la mise à niveau automatique d'Ubuntu : canal de sécurité uniquement, les paquets qui posent des questions de configuration sont ignorés, rien n'est supprimé et le serveur ne redémarre pas de lui-même. Quand une mise à jour du noyau exige un redémarrage, System Health affiche Redémarrage nécessaire.
Test de débit
Lance un test de débit avec historique. Par défaut, CloudZH mesure avec le test de débit de Cloudflare. L'Ookla CLI est optionnel (zh diagkit ookla on) et sa licence n'autorise qu'un usage personnel et non commercial.
Performances & commandes du serveur
Découvre pourquoi le tableau de bord semble lent pendant que deux films se téléchargent, et redémarre le serveur proprement.
Diagnostic des performances
Exploitation → Performances mesure pendant trois secondes : CPU (programmes, système, attente du disque), pression sur 10 s, 1 min et 5 min, mémoire et swap, charge par disque, réseau, ping vers le routeur et vers 1.1.1.1, CPU et disque par conteneur, et la file d'attente de SABnzbd. Le résultat nomme le goulot d'étranglement avec des conseils.
zh perf # one measurement
zh perf --live # live view
zh perf --fix # relieve SABnzbd
Mesurer sous chargeLance le diagnostic pendant que des téléchargements tournent. Sans charge, CloudZH le dit au lieu de deviner.
Alléger SABnzbd
Réduit le serveur principal à 30 connexions quand il en utilise plus de 50, désactive la décompression directe, met les téléchargements en pause pendant le post-traitement, abaisse la priorité CPU et disque de SABnzbd et peut fixer une limite de vitesse à 90 % de ton dernier test de débit. SABnzbd redémarre brièvement.
Commandes du serveur
Exploitation → Commandes du serveur : redémarrer ou éteindre maintenant, dans 5, 15, 30 ou 60 minutes, ou cette nuit à 04:00. CloudZH avertit des tâches en cours. Pour éteindre, tu dois taper le nom du serveur.
zh reboot --in 30
zh reboot --status
zh reboot --cancel
zh poweroff --in 15
Maintenance d'un bouton : redémarrer toutes les apps en marche, redémarrer le tableau de bord et le proxy, réinitialiser les services en échec, nettoyer Docker, raccourcir le journal, renouveler le certificat, synchroniser l'heure.
Terminal & fichiers
Un vrai shell et un gestionnaire de fichiers complet dans le navigateur, avec des règles plus strictes que le reste du tableau de bord.
Terminal
- Un shell en tant qu'utilisateur Linux qui a installé CloudZH.
sudo demande le mot de passe Linux de cet utilisateur.
- Uniquement pour les administrateurs avec passkey ou 2FA. Chaque nouvelle session demande ton mot de passe.
- Par défaut, uniquement depuis ton réseau domestique ou le VPN.
- Plusieurs sessions en onglets. Elles continuent de tourner quand tu changes de page et se ferment 30 minutes après la dernière fenêtre.
zh terminal status
zh terminal off
zh terminal remote on # also allow outside home and VPN
zh terminal close-all
Fichiers
| Emplacement | Contenu | Accès |
| Données | /srv/data | Lecture et écriture |
| Données des apps | Dossiers qui appartiennent à l'app, jamais son fichier compose | Lecture et écriture |
| Home | Dossier personnel de l'utilisateur Linux | Mêmes règles que le terminal |
| Système | / | Lecture seule |
Téléversement par morceaux (dossiers aussi, glisser-déposer), téléchargement de fichiers seuls ou en ZIP, copier, déplacer, renommer, compresser et décompresser, éditer du texte, modifier les droits. Les fichiers supprimés vont dans une corbeille de 30 jours. Réparer les droits aide quand Sonarr ou Radarr signalent « Permission denied ». Désactive le gestionnaire de fichiers avec zh files off.
Disques externes
Fichiers a trois onglets : Interne, Externe (disques USB montés) et Lecteurs. Un disque que tu branches apparaît sous Lecteurs avec son système de fichiers, sa taille et son modèle.
- Monter, Démonter et Retirer en toute sécurité (écrit tout, démonte et met le disque hors tension).
- Monter automatiquement au branchement et après un redémarrage (activé par défaut), lecture seule et un nom d'affichage par disque.
- Formater un nouveau disque en ext4 (idéal pour ce serveur) ou en exFAT (lisible aussi sous Windows et Mac). Demande ton mot de passe et le nom du disque ; les disques contenant des données, des données d'apps ou le système ne sont jamais proposés.
- Copie ou déplace entre tes données et un disque externe avec couper, copier et coller d'un onglet à l'autre.
Pris en charge : exFAT, FAT32, NTFS, ext4, ext3, ext2, XFS et Btrfs. Les disques sont montés sous /mnt/cloudzh/<name> sans le droit d'exécuter des programmes.
zh disk # list with numbers
zh disk mount 1
zh disk eject 1
Sauvegardes & mises à jour
Garde CloudZH à jour d'un bouton et conserve une copie de tes réglages.
Mettre à jour CloudZH
Quand une mise à jour est disponible, elle apparaît sous Nécessite votre attention. Clique sur Mettre à jour, ou sur le serveur :
La mise à jour tourne comme un service à part. Le tableau de bord se recharge après 60 secondes et garde ta page. Paramètres → Mises à jour indique si les mises à jour sont configurées sur ce serveur et quel canal il suit (Stable ou Experimental).
Mettre à jour depuis une archive
Tu as reçu une nouvelle version sous forme d'archive d'installation ? Copie-la sur le serveur comme le premier installateur (<file> est son nom de fichier), décompresse-la dans un nouveau dossier et mets à niveau depuis là :
rm -rf ~/cloudzh-new && mkdir ~/cloudzh-new
tar xzf ~/<file> -C ~/cloudzh-new --strip-components=1
zh upgrade ~/cloudzh-new
Les utilisateurs, apps, réglages et clés restent tels quels.
Mettre à jour les apps
Chaque page d'app a Mettre à jour pour son image. Les mises à jour d'image restent possibles en mode de licence restreint, parce que les correctifs de sécurité de tes apps ne doivent jamais attendre une facture.
Sauvegardes
Exploitation → Sauvegardes crée une sauvegarde de CloudZH et des réglages des apps. Sur le serveur :
Garde une copie ailleursUne sauvegarde sur le même disque ne survit pas à ce disque. Télécharge-la ou copie-la sur une autre machine. Ta médiathèque ne fait pas partie de la sauvegarde. Les sauvegardes ne s'ouvrent qu'avec la clé de sauvegarde de l'installation (sudo cat /etc/cloudzh/backup.key) ; garde-la dans ton gestionnaire de mots de passe.
Assistant IA
Demande ce qui ne va pas. L'assistant vérifie, explique et propose une correction qui ne s'exécute qu'après ton clic.
Configuration
- Clique sur la bouée en haut à droite (administrateurs uniquement), puis sur la roue dentée.
- Choisis un fournisseur : Anthropic, OpenAI, Google Gemini, OpenRouter, ou ton propre endpoint comme Ollama.
- Colle ta clé API, clique sur Tester la connexion, choisis un modèle et enregistre avec ton mot de passe.
Un petit modèle suffit. Avec Claude Haiku 4.5, une conversation de support coûte quelques centimes de dollar sur ta propre clé.
Ce qu'il sait faire
| Lire | Agir, après ton clic | Jamais |
| État du serveur, System Health, apps et journaux, stockage, téléchargements, titres manquants, sauvegardes, docs CloudZH | Démarrer, redémarrer ou mettre à jour une app, installer une app simple, lancer une réparation proposée, sauvegarde, test de débit, relier les apps, rechercher dans Radarr et Sonarr | Shell, fichiers, configuration, secrets, utilisateurs, sécurité, VPN, mise à jour de CloudZH, licence, suppression, restauration |
Tes données
- Les clés API, mots de passe, tokens et clés dans les URL sont retirés avant qu'un message quitte le serveur.
- Ta clé est stockée chiffrée ; le navigateur ne voit que les quatre derniers caractères.
- Limites par défaut : 100 requêtes par jour, 1500 par mois.
zh ai status
zh ai off # the dashboard cannot turn it back on
zh ai forget-key
VPN (WireGuard)
Accède au tableau de bord, aux apps d'administration et à ton réseau domestique de partout, sans ouvrir d'autres ports.
Configuration
Redirige UDP 51820 de ton routeur vers le serveur.
Vérifie le DNS. vpn.example.com (avec ton domaine) doit pointer directement vers ton IP publique. Le proxy Cloudflare ne transporte pas WireGuard.
Ajoute un appareil. Donne-lui un nom et scanne le code QR avec l'app WireGuard sur ton téléphone.
Verrouille l'accès admin. Sécurité → Règles d'accès : Administration uniquement depuis le réseau domestique ou le VPN.
Fonctionnement
WireGuard tourne dans le noyau Linux en tant que wg-quick@wg0, pas dans un conteneur. Son installation et sa suppression ne sont possibles que sur le serveur. Le tableau de bord affiche le code QR et la configuration des nouveaux appareils.
ProchainementListe des appareils avec statut en ligne et volume de données, bloquer et débloquer, profils d'accès par appareil (seulement CloudZH, réseau domestique, tout) et appareils invités avec date de fin.
UniFi OS Server
Fais tourner l'application UniFi Network pour tes points d'accès et switchs sur le serveur CloudZH.
Installation
UniFi OS Server tourne sans root avec Podman sous son propre utilisateur. Ouvre-le sur https://unifi.example.com derrière ta connexion, ou à la maison sur https://<server-ip>:11443, par exemple https://192.168.1.200:11443.
Adresse inform
Tes appareils UniFi se signalent à l'adresse indiquée dans Inform host override. CloudZH y inscrit lui-même l'adresse filaire du serveur et la vérifie à chaque démarrage et toutes les 6 heures, pour que les appareils ne se signalent jamais à une adresse Wi-Fi ou de conteneur. Affiche-la ou modifie-la sur le serveur :
zh unifi inform # show
zh unifi inform <server-ip> # a fixed address instead
zh unifi inform auto # back to automatic
Migrer depuis un autre contrôleur
Un appareil n'obéit qu'à un seul contrôleur. Garde-en exactement un actif.
Crée une sauvegarde dans l'ancien contrôleur (Network → Settings → System → Backups) et restaure-la dans l'app Network sur CloudZH.
Vérifie l'adresse inform avec zh unifi inform.
Fais pointer chaque appareil vers le nouveau contrôleur via SSH.
<device-ip> est l'adresse du point d'accès ou du switch,
<server-ip> celle du serveur :
ssh admin@<device-ip>
set-inform http://<server-ip>:8080/inform
La session SSH se coupe pendant le provisionnement de l'appareil. C'est normal.
Vérifie avec info sur l'appareil : Connected (http://<server-ip>:8080/inform). Puis arrête l'ancien contrôleur.
Branche le serveur par câbleSi le serveur atteint ton réseau via le point d'accès qu'il gère, une mise à jour du firmware ou un mauvais réglage le coupe de lui-même. Désactive les mises à jour automatiques des appareils tant que le serveur est en Wi-Fi.
UniFi OS Server prend en charge l'application Network. Protect, Access et Talk nécessitent une console UniFi.
Conseils réseau
Une connexion filaire stable compte plus pour un serveur domestique que tout ce qui se trouve dans le tableau de bord.
Câble d'abord, Wi-Fi en secours
Donne au câble l'adresse fixe vers laquelle tout pointe, et garde le Wi-Fi en secours avec une deuxième adresse. Exemple pour Netplan dans /etc/netplan/01-cloudzh.yaml, avec 192.168.1.200 comme <server-ip>, 192.168.1.1 comme routeur et les noms d'adaptateurs de ip -br link. Utilise tes propres valeurs :
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4: false
addresses: [192.168.1.200/24]
routes: [{ to: default, via: 192.168.1.1, metric: 100 }]
nameservers: { addresses: [192.168.1.1] }
wifis:
wlp2s0:
optional: true
dhcp4: false
addresses: [192.168.1.201/24]
routes: [{ to: default, via: 192.168.1.1, metric: 600 }]
nameservers: { addresses: [192.168.1.1] }
access-points:
"YourWiFi": { password: "…" }
Applique-le en toute sécurité avec sudo netplan try --timeout 300, pour qu'une erreur soit annulée d'elle-même. Avec deux interfaces dans un même réseau, règle aussi :
# /etc/sysctl.d/60-cloudzh-dualnic.conf
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
Pourquoi pas les deux à la fois
Agréger câble et Wi-Fi ne fonctionne pas proprement avec un client Wi-Fi, et un téléchargement unique n'emprunte toujours qu'un seul chemin. C'est ta ligne internet qui limite, pas le LAN.
Routeur
- Réserve l'adresse du serveur dans le routeur.
- Redirige TCP 443 (tableau de bord, apps, Plex) et UDP 51820 (VPN). Plex n'a besoin que de TCP.
Référence de la commande zh
Lance zh sur le serveur avec n'importe quel utilisateur ayant les droits sudo. Il demande les droits quand une commande en a besoin.
| Commande | Ce qu’il fait |
zh | Efface la console |
zh menu | Ouvre le menu avec toutes les sections, six langues (touche L) |
zh help | Liste toutes les commandes |
zh status | État résumé du serveur, des apps, de la santé et de la licence |
zh doctor [--fix] [--apt] | Lance System Health, au choix avec des réparations sûres et des réparations de paquets |
zh speedtest | Mesure ta ligne internet |
zh diagkit install | Complète le kit de diagnostic |
zh apps | Liste les apps installées |
zh apps wire | Relie les apps entre elles |
zh apps tune | Applique les recommandations TRaSH |
zh update | Met à jour CloudZH |
zh upgrade <folder> | Installe une nouvelle version depuis une archive d'installation décompressée |
zh backup | Crée une sauvegarde |
zh perf [--live] [--fix] | Diagnostic des performances, vue en direct, alléger SABnzbd |
zh reboot [--in <min>] [--cancel] [--status] | Redémarre maintenant ou plus tard |
zh poweroff [--in <min>] | Éteint maintenant ou plus tard |
zh vpn install · zh vpn add <name> | Installe WireGuard, ajoute un appareil avec code QR |
zh unifi install · zh unifi inform | Installe UniFi OS Server, affiche ou règle l'adresse inform |
zh token | Affiche le token de configuration pour la première connexion |
zh users | Liste les utilisateurs du tableau de bord |
zh rename-user <old> <new> | Renomme un utilisateur |
zh enable-user <name> | Réactive un utilisateur, supprime aussi une date de fin |
zh reset-password <name> | Définit un nouveau mot de passe |
zh reset-2fa <name> | Supprime le second facteur d'un utilisateur |
zh terminal status|on|off | Terminal du navigateur ; aussi remote on|off, user <name>, close-all |
zh files off | Désactive le gestionnaire de fichiers |
zh disk · zh disk mount|unmount|eject <n> | Liste les disques USB, en monte ou en éjecte un |
zh website status|build|deploy|on|off | Sert un site web statique sur ton domaine principal, voir Domaine & HTTPS |
zh ai status|on|off|forget-key | Contrôle l'assistant ; seul root peut lever un blocage |
zh license | Affiche la licence de ce serveur |
zh license activate · zh license refresh | Active une licence, récupère un nouveau fichier de licence |
zh license release | Libère ce serveur, sa place devient libre |
zh support | Communauté Discord, documentation et retours |
Langue
Les messages suivent la langue choisie dans le tableau de bord. Remplace-la pour une seule commande avec CZH_LANG=de zh status. Les questions affichent une seule lettre dans ta langue, par exemple (y/n), (j/n) ou (o/n). Une lettre suffit, le mot entier fonctionne aussi ; y, yes, n et no fonctionnent toujours.
Nouveautés
Les points forts des dernières versions. Les administrateurs trouvent les notes de version complètes dans le tableau de bord, derrière le badge de version en haut. Version actuelle : 0.35.0.
0.32
- Ton compte sur account.cloudzh.app : licences et serveurs, clés d'installation, échange de codes, achat d'un abonnement, factures et demandes de support, avec passkeys et connexion à deux facteurs. Voir le guide client.
- Les clés arrivent toujours par e-mail depuis le service de licences ; le compte ne les affiche jamais.
- Demandes de support aussi sans compte, sur account.cloudzh.app/support.
0.31
- Les consoles d'installation, de mise à jour et de réparation parlent la langue de ton tableau de bord.
- UniFi OS Server : l'adresse inform est réglée automatiquement (
zh unifi inform). - System Health avertit quand le serveur utilise le Wi-Fi alors qu'un câble est branché.
- Test de débit avec Cloudflare par défaut, Ookla seulement sur demande.
0.30
- Les licences arrivent automatiquement par e-mail après un achat, avec une clé d'installation par serveur.
0.28
- UniFi OS Server : la connexion avec le compte UI continue de fonctionner, vérifiée toutes les 6 heures.
0.27
- Page Activité : qui regarde quoi sur Plex, qui est en ligne, historique.
- Canaux de mise à jour Stable et Experimental sous Paramètres → Mises à jour.
- Aide et retours dans le tableau de bord, avec Discord, demandes de fonctionnalités et signalements de bugs.
- Change le port SSH en toute sécurité avec
zh ssh-port.
0.26
- Un film produit sur ce site : chaque section en quatre minutes et demie environ, avec chapitres.
- Formate des disques sous Fichiers → Lecteurs : ext4 ou exFAT, avec deux confirmations et une console en direct.
- Les disques exFAT, XFS, Btrfs et NTFS se montent de manière fiable sur les serveurs renforcés.
0.25
- Photos de profil pour chaque compte, recadrées et zoomées dans le navigateur.
- Un écran de démarrage plus long : le monogramme se construit, le logotype CloudZH glisse en place.
0.24
- Disques externes dans le gestionnaire de fichiers : monter, démonter, retirer en toute sécurité, monter automatiquement, lecture seule.
- Copie et déplacement entre tes données et les disques USB ;
zh disk sur le serveur.
0.23
- Animations de chargement dans la couleur d'accent : écran de démarrage, barre de page, squelettes au lieu de pages vides.
0.22
- La vue d'ensemble devient une grille de widgets : glisser, redimensionner, ajouter et retirer des widgets, une disposition par utilisateur, des dispositions par défaut pour les admins et les amis.
- Notes de version dans ta langue.
0.21
- Adresses IP, MAC et e-mail floutées jusqu'au clic, un bouton en forme d'œil pour tout révéler.
- La version installée en badge en haut, avec une indication après chaque mise à jour.
Organisation des données
Une seule arborescence de données pour toutes les apps, organisée comme le recommandent les TRaSH Guides, pour des déplacements instantanés et aucun fichier stocké en double.
/srv/data
├── usenet
│ ├── incomplete # SABnzbd working folder
│ └── complete
│ ├── movies · tv · audio
│ └── prowlarr # manual grabs from the indexer search
└── media
├── movies · tv · music
└── .recycle # recycle bin of Radarr, Sonarr, Lidarr, 7 days
Ce que voit chaque app
| App | Monté comme |
| Sonarr, Radarr, Lidarr | /data (tout) |
| SABnzbd | /data/usenet |
| Plex, Bazarr | /data/media |
Autres emplacements
| Chemin | Contenu |
/opt/cloudzh/apps/<app> | Fichier compose et configuration de chaque app |
/etc/cloudzh | Réglages du serveur, fichier de licence |
Les apps écrivent en tant qu'utilisateur cloudzh. Si une app signale « Permission denied », utilise Fichiers → Réparer les droits.
Modèle de sécurité
Qui peut faire quoi, où sont les limites, et contre quoi CloudZH ne protège pas.
Couches
| Couche | Protection |
| Entrée | Caddy comme seule porte d'entrée, HTTPS partout, apps d'administration derrière la connexion au tableau de bord, cookie de session retiré avant que les requêtes n'atteignent une app |
| Connexion | Politique de mots de passe, passkeys, codes d'authentification avec codes de récupération, verrouillage après des tentatives échouées, liste des appareils avec déconnexion |
| Règles | Administration uniquement depuis le réseau domestique ou le VPN, 2FA obligatoire, confirmation par mot de passe pour les actions sensibles |
| Tableau de bord | Aucun privilège, conteneur renforcé, aucun paquet tiers |
| Agent | Liste de commandes fixe via un socket Unix, durcissement systemd, chemins vérifiés sans suivre les liens symboliques, journal d'audit |
| Serveur | Logiciels système uniquement en ligne de commande, Fail2Ban sur les connexions, mises à jour de sécurité d'un bouton |
Secrets
- Les liens d'invitation et les clés de licence ne sont stockés que sous forme de hash.
- Les clés IA sont stockées chiffrées, le navigateur voit les quatre derniers caractères.
- Ton token de compte Plex reste en mémoire uniquement pendant la configuration.
- Les apps d'administration lisent leurs clés API dans leurs propres fichiers de config ; les clés ne sont jamais envoyées au navigateur.
Limites
Quiconque a root sur le serveur peut tout lire et tout modifier, CloudZH compris. Deux apps, Lingarr et Requestrr, tournent sans connexion propre et sont accessibles par les autres conteneurs du réseau Docker ; depuis l'extérieur, elles sont derrière la connexion au tableau de bord comme toute app d'administration.
Licences
Une licence par serveur, mensuelle ou annuelle, en Standard ou en Pro ; la formule Foyer couvre jusqu’à 3 serveurs. Gère-la dans ton compte sur account.cloudzh.app.
Achat
Achète dans ton compte sur account.cloudzh.app sous Acheter, ou sous Tarifs sur ce site. Choisis mensuel ou annuel et le nombre de serveurs. Le paiement est traité par Link (Sold through Link, LLC, a Stripe company) en tant que vendeur officiel (merchant of record). Ta clé de licence et ta clé d'installation arrivent automatiquement par e-mail, en général en quelques minutes. Les codes d'essai et cadeaux s'échangent dans ton compte sous Échanger un code. Pas à pas : Obtenir une licence. Voir les Conditions et la politique de remboursement.
Standard et Pro
| Domaine | Standard | Pro |
| Apps, médiathèque, assistants de configuration, TRaSH | Tous | Tous |
| Sécurité : 2FA, passkeys, VPN, pare-feu, alertes de nouvel appareil | Tous | Tous |
| Comptes du tableau de bord | Un seul, pour toi (le partage via Plex et Jellyfin fonctionne comme d’habitude) | Comptes pour la famille et les amis, liens d’invitation, comptes invités à durée limitée, plus d’admins |
| Sauvegardes et mises à jour avec retour arrière | Locales, chiffrées | Plus hors site, téléchargement dans le navigateur, mises à jour automatiques, retour arrière des apps |
| Notifications | Un canal, seuils par défaut | Tous les canaux, seuils personnalisés, heures calmes |
| Historique d’activité, diagnostic des performances, assistant IA, apps personnalisées, extras Homelab | – | Inclus |
| Look | Clair ou sombre, densité, langue, formats | Plus ton propre nom, logo, couleurs, page de connexion et noms de menu |
| Support | Discord et demandes de support | Demandes traitées en priorité |
Un essai gratuit inclut toujours les fonctions Pro. Passer de Pro à Standard ne supprime jamais rien : les comptes et les réglages restent, seules les nouvelles fonctions Pro sont en pause jusqu’à ce que tu repasses à Pro.
Clés
| Clé | Format | Utilisation |
| Clé de licence | CZL-XXXXX-XXXXX-XXXXX-XXXXX | Ton contrat. Garde-la en lieu sûr. |
| Clé d’installation | CZI-XXXXX-XXXXX-XXXXX | Active un serveur, une seule fois. Valable 30 jours après un achat, 7 jours quand tu la crées dans ton compte. |
Deux clés, pour qu'une clé de licence aperçue sur une capture d'écran ne puisse pas activer un autre serveur. Les clés arrivent uniquement par e-mail et ne sont plus jamais affichées. Dans ton compte, Mes licences crée une nouvelle clé d'installation ou réémet une clé de licence perdue ; voir Ton e-mail de licence.
Check-in
Le serveur se signale une fois par jour et reçoit un fichier de licence signé. Il envoie son ID de serveur, la version de CloudZH et une empreinte matérielle.
États
| État | Effet |
| Active, bientôt échue | Tout fonctionne, rappel 14 jours avant |
| Période de grâce | 7 jours après l'échéance, tout fonctionne, bannière |
| Pas de contact avec le service de licences | Normal pendant 14 jours, bannière après 3 check-ins manqués |
| Expirée, suspendue, révoquée, non activée | Mode restreint |
Mode restreint
Suspendu : mises à jour de CloudZH, nouvelles apps, nouveaux utilisateurs et liens d'invitation. Continue de fonctionner : Plex, toutes les apps installées, VPN, sauvegardes, connexion, mises à jour d'image des apps, restauration de sauvegardes, mises à jour de sécurité, terminal et fichiers.
Nouveau matériel
Une licence compte un serveur actif. Pour changer de machine, libère l'ancien serveur (Mes licences dans ton compte, zh license release, ou Mon compte → Abonnement dans le tableau de bord), crée une nouvelle clé d'installation dans ton compte et active le nouveau serveur avec. Détails : Déménager ou réinstaller.
Quand le matériel change sans libération, le serveur continue de tourner et affiche Hardware changed. Si deux machines utilisent la même licence, une seule la garde.
zh license # licence of this server
zh license activate # activate with licence and installation key
zh license refresh # check in with the licence service now
zh license release # free the seat of this server
Dépannage
Les problèmes que nous avons vus sur de vrais serveurs, et ce qui les règle.
SABnzbd : « Aborted, cannot be completed »
La release est incomplète : des articles manquent sur le serveur Usenet, souvent sur d'anciennes releases après des demandes de retrait. Réessayer n'aide pas. Supprime l'entrée ; Radarr marque la release comme échouée et en cherche une autre. Si cela arrive souvent, ajoute un second fournisseur sur un autre backbone avec une priorité plus basse, et davantage d'indexeurs dans Prowlarr.
Radarr : « Manual import required »
La release a été associée par ID, mais son titre ne correspond pas au film, ce qui est fréquent avec les titres allemands. Utilise Importer dans l'onglet Téléchargements, vérifie le fichier et confirme.
Un bon fichier vidéo a été remplacé par une image disque
System Health → Médiathèque liste les images disque et les titres sans le profil CloudZH. Marque la récupération comme échouée dans Radarr, applique le préréglage de qualité à tous les titres et relance la recherche. Comme la corbeille est configurée, les fichiers remplacés restent 7 jours dans /srv/data/media/.recycle.
Le tableau de bord est lent pendant les téléchargements
Lance Exploitation → Performances pendant le téléchargement. Causes habituelles : SABnzbd avec trop de connexions (utilise Alléger SABnzbd), une ligne internet saturée, ou le passage par ton routeur (ajoute l'entrée hosts de Domaine & HTTPS).
Connexion UniFi : « check for any issues with your ISP »
Le message est trompeur. UniFi OS cherche un service de temps dans son conteneur, que l'image ne contient pas, même si l'horloge est juste. CloudZH ajoute un substitut et le vérifie à chaque démarrage d'UniFi OS Server et toutes les 6 heures, y compris après une mise à jour d'UniFi OS Server. Si le message s'affiche encore, utilise le bouton de réparation de UniFi OS Server : contrôle de l'heure dans System Health sous Versions, ou lance :
Sonarr ou Radarr : « Permission denied »
Fichiers → sélectionne le dossier → Réparer les droits.
Un service apparaît en échec
L'auto-réparation le redémarre en quelques minutes. S'il reste en erreur plus longtemps, utilise le bouton de réparation dans System Health ou zh doctor --fix.
Obtenir de l'aide
La plupart des réponses sont à un clic. Sinon, envoie les bonnes informations.
Commence ici
- System Health : affiche-t-il un problème avec un bouton de réparation ?
- L'assistant : demande-lui ce qui ne va pas, il lit les contrôles et les journaux pour toi.
- Cette documentation : appuie sur Ctrl K et cherche.
Contact
- Demande de support : dans ton compte sur account.cloudzh.app sous Mes demandes → Nouvelle demande, avec jusqu'à 3 pièces jointes. Sans compte : account.cloudzh.app/support, puis confirme la demande avec le lien de l'e-mail.
- Communauté : Discord, ou Aide et retours (la bulle en haut à droite) dans le tableau de bord.
- E-mail : support@cloudzh.app
À joindre :
- Version de CloudZH et serveur (
zh status) - Sortie de
zh doctor - Le texte de la console ou de l'erreur, copié
- Ce que tu as fait et ce que tu attendais
Avant d'envoyerRetire les clés API, mots de passe, clés de licence et ton adresse IP publique des journaux et captures d'écran.
Mentions légales
Responsable de ce site.
E-mail : support@cloudzh.app
Responsabilité
Nous vérifions soigneusement le contenu de ce site, mais ne pouvons garantir qu'il soit complet, exact ou à jour. Les liens vers d'autres sites ne relèvent pas de notre responsabilité.
Marques
Plex, Jellyfin, UniFi, WireGuard et tous les autres noms de produits appartiennent à leurs propriétaires. CloudZH n'est pas affilié à eux.
Confidentialité
Ce site ne dépose aucun cookie, n'utilise aucun outil d'analyse et ne charge rien depuis d'autres serveurs. La politique de confidentialité complète détaille les achats et le service de licences.
Ce site
- Pas de cookies, pas de pistage, pas d'analyse, pas de publicité.
- Les polices, images et vidéos sont servies depuis ce serveur. Aucune requête ne part vers Google ou d'autres tiers.
- Nous ne conservons aucun journal d'accès. Le serveur traite ton adresse IP uniquement pour livrer la page et la protéger contre les attaques.
- Si tu nous écris, nous utilisons ton message uniquement pour y répondre.
- Les achats passent par les pages de paiement de Link (Sold through Link, LLC, a Stripe company), qui vend la licence en tant que vendeur officiel (merchant of record) et gère le paiement, les factures et les taxes.
CloudZH sur ton serveur
Ton serveur se signale au service de licences une fois par jour avec son ID de serveur, sa clé d'instance, son nom d'hôte, la version de CloudZH, une empreinte matérielle et le nombre d'utilisateurs, d'administrateurs et d'apps installées (seulement des nombres). Les médias, noms de fichiers, noms d'utilisateurs, mots de passe et réglages restent sur ton serveur. L'assistant n'envoie des données qu'au fournisseur d'IA que tu configures, avec ta propre clé, après avoir retiré les secrets.
Tes droits
Tu peux demander ce que nous stockons à ton sujet, et le faire corriger ou supprimer, à support@cloudzh.app. Cette déclaration suit la loi fédérale suisse sur la protection des données (LPD) et, lorsqu'il s'applique, le RGPD de l'UE. Tous les destinataires et transferts à l'étranger sont listés dans la politique de confidentialité complète.