cipi php

PHP 8.5 est préinstallé lors de l'installation. Des versions supplémentaires peuvent être ajoutées à tout moment ; depuis v4.5.12 Cipi sonde APT sources par nom de code Ubuntu - généralement le ondrej/php PPA le 24.04, packages.sury.org le 26.04 lorsque Launchpad n'a pas de suite, ou Ubuntu main comme dernier recours (co-installable 8.3-8.5 là où le dépôt choisi le prend en charge).

Depuis v4.5.4 Cipi lots Déployeur 8, ce qui nécessite PHP ≥ 8,3. cipi php install, cipi php switch, cipi app create et cipi app edit donc n'acceptez que 8.3, 8.4 et 8.5. Les anciennes versions (7.4 à 8.2) restent détectables et amovibles. vous pouvez toujours nettoyer un serveur antérieur à 4.5.4 avec cipi php remove <old-version>.
coup
$ cipi php list              # list installed versions, status, and system default
$ cipi php install 8.4       # install an additional PHP version (8.3–8.5)
$ cipi php switch 8.4        # set system default (root/cipi, API pool)
$ cipi php remove 8.1        # remove a version, incl. legacy (blocks if default or apps use it)
$ cipi php upgrade           # apply security patches to all installed PHP packages

Mises à niveau des correctifs de sécurité

Depuis v4.7.13, les packages PHP sont exclus de unattended-upgrades et géré par Cipi à la place. cipi php upgrade court apt-get update et --only-upgrade sur chaque installé php* et libphp* package, puis redémarre les pools PHP-FPM concernés. Lorsque SMTP est configuré et les packages ont été mis à niveau, Cipi envoie un e-mail (php_upgrade déclenchement; désactiver avec cipi notifications disable php_upgrade).

Un contrôle hebdomadaire s'exécute automatiquement sur dimanche à 03h30 via la crontab racine (encapsulé par cipi-cron-notify). Journal : /var/log/cipi/php-upgrade.log. Les serveurs existants reçoivent le cron le cipi self-update (migration 4.7.13).

Système par défaut ou spécifique à l'application PHP

Le défaut du système est la version PHP utilisée par le root et cipi utilisateurs, le pool FPM Cipi API et le travailleur de file d'attente API. Utiliser cipi php switch <ver> à changez-le. La commande migre le pool API (et le pool GUI FPM une fois installé), recrée prises du panneau et redémarre le travailleur API. Depuis 5.0.9+, PUT /api/php/default encapsule cela via le panneau API (php-manage capacité). Depuis 5.0.10–5.0.12, le commutateur tolère les partiels update-alternatives succès, remonte les racines en lecture seule si nécessaire et conserve API/GUI Pools FPM sur la version cible pour éviter nginx 502.

REPOS : GET /api/php, POST /api/php/install, DELETE /api/php/{version}, PUT /api/php/default (CLI 1.15.0+ / Cipi 5.0.6+). CLI Cipi : cipi php list --json (depuis 5.0.6).

Chaque application a son posséder Version PHP (définie à app create ou via cipi app edit --php=). Déployeur, Composer, déclencheurs de déploiement crontab et cipi sync import exécutez toujours avec le PHP configuré de l'application - jamais avec la valeur par défaut du système.

Pour basculer une application existante vers une version différente :

coup
$ cipi app edit myapp --php=8.5

Cela remplace à chaud la version PHP sans temps d'arrêt : met à jour le pool FPM, le socket Nginx, Supervisor. Workers, crontab, configuration du déployeur et .env en une seule opération atomique.

cipi db

Cipi crée une base de données dédiée pour chaque Cipi l'application automatiquement pendant app create. Cipi (port 3306) est la valeur native par défaut ; depuis v4.8.0 vous pouvez également installer en option Laravel (port 5432) et choisissez un moteur par base de données ou application. Les applications personnalisées ne disposent pas de base de données – utiliser cipi db create --name=<app> si vous en avez besoin (par exemple pour WordPress ou un autre CMS). Après la configuration, une URL de connexion prête à l'emploi s'affiche (MariaDB :mariadb+ssh://), combinant les informations d'identification SSH, l'adresse IP du serveur et les informations de base de données pour GUI clients comme TablePlus, DBeaver ou Sequel Pro.

Moteurs (v4.8.0+)

coup
$ cipi db install pgsql              # install optional PostgreSQL
$ cipi db uninstall pgsql|mariadb    # remove a non-default engine (destroys data)
$ cipi db default mariadb|pgsql      # server-wide default when --engine is omitted
$ cipi db engines                    # installed engines, ports, and default

Cycle de vie de la base de données

coup
$ cipi db create                              # interactive
$ cipi db create --name=analytics             # non-interactive (default engine)
$ cipi db create --name=analytics --engine=pgsql
$ cipi db list [--engine=mariadb|pgsql]       # list databases with sizes
$ cipi db backup myapp [--engine=…]
$ cipi db restore myapp backup.sql.gz [--engine=…]
$ cipi db password myapp [--engine=…]         # regenerate password
$ cipi db delete analytics [--engine=…]

Laravel applications stockent le moteur choisi dans les métadonnées de l'application ; sauvegarde, synchronisation et cipi app reset-db-password suivez-le. Utiliser cipi app create --engine=pgsql (ou l'invite interactive) pour provisionner une application Laravel le PostgreSQL — .env et l'URL de connexion correspond au moteur. Réinitialisation du mot de passe root : cipi reset db-password [--engine=].

cipi alias

Ajoutez plusieurs domaines ou sous-domaines à n'importe quelle application. Après avoir ajouté des alias, exécutez cipi ssl install pour fournir ou renouveler le certificat avec une couverture SAN pour tous domaines. Depuisv4.8.0, cipi alias add|remove régénère le vhost et réapplique SSL avec certbot install --redirect donc HTTPS n'est pas supprimé.

coup
$ cipi alias add myapp www.myapp.com
$ cipi alias add myapp myapp.it
$ cipi alias list myapp
$ cipi alias remove myapp myapp.it

Pour les redirections canoniques www ↔ apex, préférez cipi www au lieu de gérer manuellement l'hôte homologue.

cipi www

Disponible depuis v4.8.0. Gérez les alias www/apex et les redirections canoniques 301 pour un application. L'État vit dans apps.json (www_redirect); Nginx émet un signal dédié bloc de serveur de redirection (chemin ACME maintenu public) qui survit à la régénération du vhost. SSL est réappliqué via certbot install --redirect.

coup
$ cipi www add myapp              # add counterpart host (www ↔ apex)
$ cipi www force-to-root myapp    # 301 www.domain → domain
$ cipi www force-from-root myapp  # 301 domain → www.domain
$ cipi www clear myapp            # clear redirect state
$ cipi www status myapp           # inspect redirect state

force-to-root / force-from-root ajoutez automatiquement l'alias manquant si nécessaire.

cipi domains

Disponible depuis v4.5.5. Une commande de niveau supérieur qui répertorie chaque domaine et alias à travers tout applications dans une seule table - l'équivalent mondial de le par application cipi alias list <app>. Idéal pour auditer l’ensemble mappage domaine-application ou détection d'un domaine pour lequel il manque toujours un certificat.

coup
$ cipi domains   # list all domains and aliases across every app

Chaque ligne affiche les colonnes suivantes :

Colonne Descriptif
DOMAINE Le nom de domaine ou alias. Les lignes sont triées par ordre alphabétique par domaine.
APPLICATION L'application propriétaire du domaine.
GENRE primary ou alias.
TYPE Laravel ou Custom.
PHP La version PHP de l'application.
DOCROOT public pour Laravel applications, /<docroot> pour les applications personnalisées.
BRANCHE La branche Git déployée pour l'application.
DERNIER DÉPLOIEMENT Âge relatif à l'homme (just now, 10m ago, 2h ago, 3d ago, 2w ago, 2mo ago, 2y ago) — dérivé de l'heure mtime de l'application current lien symbolique, quel déployeur repointe atomiquement chaque déploiement réussi. Spectacles - quand l'application était jamais déployé.
SSL Statut du certificat par nom (/), détecté à partir de /etc/letsencrypt/live/<domain>.
DÉPÔT Le dépôt Git, ou (SFTP only) pour les applications personnalisées sans dépôt.
(suffixe) Lorsque l'application propriétaire est suspendue, chaque ligne se termine par ⏸ suspended (jaune). Le pied de page indique également le nombre d'applications suspendues.

Un pied de page résume les totaux (nombre de domaines, d'applications, de certificats et d'applications suspendues), ce qui rend il est facile de vérifier l'ensemble de la cartographie en un coup d'œil.

cipi ssl

Certbot gère les certificats Let's Encrypt. Les certificats se renouvellent automatiquement via un cron hebdomadaire. cipi ssl status affiche les dates d'expiration avec des avertissements de couleur : vert (> 30 jours), jaune (14 à 30 jours), rouge (<14 jours).

coup
$ cipi ssl install myapp   # provision / renew — includes all aliases (SAN)
$ cipi ssl force myapp     # re-apply HTTP→HTTPS redirect (no new issuance)
$ cipi ssl renew            # force renewal of all certificates
$ cipi ssl status           # show all certs with expiry dates

# DNS-01 via Cloudflare (v5.0+) — wildcard certs
$ cipi ssl dns set --provider=cloudflare --token=YOUR_CF_TOKEN
$ cipi ssl install myapp --dns=cloudflare
$ cipi ssl install myapp --dns=cloudflare --wildcard

Depuis v4.8.0, cipi ssl force <app> réapplique le HTTP → HTTPS rediriger vers une application qui possède déjà un certificat Let's Encrypt — sans en émettre un nouveau. cipi ssl install définit également force_https dans apps.json automatiquement.

Depuis v5.0, facultatif DNS-01 les défis via Cloudflare remplacent les Flux HTTP-01 par défaut lorsque vous avez besoin de certificats génériques ou que vous ne pouvez pas exposer le port 80. Configurez une fois avec cipi ssl dns set, puis passe --dns=cloudflare (et éventuellement --wildcard) à cipi ssl install.

Après avoir ajouté des alias de domaine avec cipi alias add, cours toujours cipi ssl install à nouveau pour fournir un nouveau certificat SAN couvrant tous les domaines. Si la redirection HTTPS a été perdue après un changement d'hôte virtuel, utilisez cipi ssl forceau lieu de réédition.

cipi backup

Sauvegardez les bases de données et le stockage sur Amazon S3 ou sur tout fournisseur compatible S3 (Hetzner Object Storage, Espaces DigitalOcean, Backblaze B2, MinIO, etc.).

Configuration

coup
$ cipi backup configure
# → AWS Access Key ID
# → AWS Secret Access Key
# → Bucket name
# → Region
# → Endpoint URL (leave empty for AWS; required for other providers)

Points de terminaison compatibles S3

Fournisseur URL du point de terminaison
AWS S3 laisser vide
Hetzner https://<datacenter>.your-objectstorage.com
Espaces DigitalOcean https://<region>.digitaloceanspaces.com
Backblaze B2 https://s3.<region>.backblazeb2.com
MinIO https://your-minio-host

Exécution de sauvegardes

coup
$ cipi backup configure              # configure S3 credentials
$ cipi backup run                    # backup all apps
$ cipi backup run myapp              # backup a single app
$ cipi backup list                   # list all backups
$ cipi backup list myapp             # list backups for one app
$ cipi backup prune myapp --weeks=4  # delete backups older than 4 weeks

Chaque sauvegarde est téléchargée vers s3://your-bucket/cipi/appname/YYYY-MM-DD_HHMMSS/ et contient :

  • db.sql.gz — dump de base de données compressé
  • shared.tar.gz — l'intégralité shared/ répertoire (.env + storage/)

Depuis v4.7.14, la sauvegarde par défaut est /var/tmp (disque) au lieu de /tmp (souvent un petit tmpfs sauvegardé par RAM), de sorte que les grandes applications n'échouent plus en cours de sauvegarde lorsque tmpfs se remplit. Remplacer par tmpdir dans backup.json (réglé via cipi backup configure) ou le CIPI_BACKUP_TMPDIR variable d'environnement.

Planification de sauvegardes automatiques

coup
# Add to root crontab (crontab -e)
0 2 * * * /usr/local/bin/cipi backup run >> /var/log/cipi/backup.log 2>&1

Élagage des anciennes sauvegardes de S3

Les sauvegardes s'accumulent au fil du temps. Utiliser cipi backup prune pour supprimer les dossiers de sauvegarde plus anciens que N semaines à partir de S3. Exécutez-le en tant que tâche cron parallèlement à la sauvegarde elle-même.

coup
$ cipi backup prune myapp --weeks=4   # delete backups older than 4 weeks
$ cipi backup prune myapp --weeks=2   # keep only the last 2 weeks

Ajoutez les deux commandes à la crontab racine pour qu'elles s'exécutent automatiquement :

coup
# root crontab — backup at 02:00, prune at 03:00 (keep 4 weeks)
0 2 * * * /usr/local/bin/cipi backup run myapp >> /var/log/cipi/backup.log 2>&1
0 3 * * * /usr/local/bin/cipi backup prune myapp --weeks=4 >> /var/log/cipi/backup-prune.log 2>&1
cipi backup prune lit les identifiants S3 de /etc/cipi/backup.conf, écrit par cipi backup configure. Il fonctionne avec n'importe quel fournisseur compatible S3. Ajuster --weeks pour correspondre à votre politique de rétention (par ex. --weeks=2 pour deux semaines, --weeks=8 pendant deux mois).

Crontab utilisateur

Cipi ajoute automatiquement une entrée crontab pour le planificateur Laravel lorsqu'une application est créée :

coup
# installed automatically by cipi app create
* * * * * /usr/bin/php8.5 /home/myapp/current/artisan schedule:run >> /dev/null 2>&1

Cette entrée fonctionne comme le myapp utilisateur Linux toutes les minutes, en utilisant la version PHP sélectionnée pour l'application. Il est mis à jour automatiquement lorsque vous changez de version PHP via cipi app edit myapp --php=X.

Affichage de la crontab actuelle

coup
# as root — view the app user's crontab
$ crontab -u myapp -l

# or after switching to the app user
$ su - myapp
myapp@server:~$ crontab -l

Ajout de tâches cron personnalisées

Vous pouvez ajouter des tâches cron supplémentaires à la crontab de l'utilisateur de l'application. Basculez d'abord vers l'utilisateur de l'application pour garantir les emplois exécuter avec le contexte utilisateur et les autorisations de fichier corrects :

coup
$ su - myapp
myapp@server:~$ crontab -e

Exemples d'entrées que vous pourriez ajouter :

coup
# existing Laravel scheduler (do not remove)
* * * * * /usr/bin/php8.5 /home/myapp/current/artisan schedule:run >> /dev/null 2>&1

# nightly database backup at 2 AM
0 2 * * * /usr/local/bin/cipi db backup myapp >> /home/myapp/logs/backup.log 2>&1

# custom script every 15 minutes
*/15 * * * * /home/myapp/current/scripts/sync.sh >> /home/myapp/logs/sync.log 2>&1
Ne supprimez pas l’entrée du planificateur Laravel. Cipi ne le rajoute pas automatiquement s'il est supprimé - vous devrez exécuter cipi app edit myapp --php=<current-version> pour le restaurer. Gardez toujours le schedule:run ligne comme première entrée afin qu’elle soit facile à identifier.
Les tâches Cron s'exécutent en tant qu'utilisateur de l'application. Ils respectent les mêmes restrictions du système de fichiers comme l'application elle-même. Si une tâche cron doit écrire des fichiers, assurez-vous que le chemin cible se trouve à l'intérieur /home/myapp/. Les tâches nécessitant un accès root doivent être ajoutées à la crontab racine à la place, avec crontab -e comme racine.

Vérifier si cron fonctionne

coup
# check system cron log
$ grep CRON /var/log/syslog | grep myapp | tail -20

# check Laravel scheduler execution
$ cipi app artisan myapp schedule:list

cipi schedule

Depuis v5.0, gérez l'entrée crontab du planificateur Laravel qui s'exécute schedule:run (la crontab elle-même existait déjà ; elle est désormais basculable et suivie dans apps.json).

coup
$ cipi schedule on myapp
$ cipi schedule off myapp
$ cipi schedule status myapp

cipi worker & Laravel Horizon

Chaque application reçoit un travailleur Supervisor par défaut pour le default file d'attente. Vous pouvez ajouter des files d'attente avec des décomptes de processus et des délais d'attente personnalisés.

coup
$ cipi worker add myapp --queue=emails --processes=3
$ cipi worker add myapp --queue=exports --processes=1 --timeout=7200
$ cipi worker list myapp
$ cipi worker edit myapp --queue=default --processes=3
$ cipi worker remove myapp emails
$ cipi worker restart myapp   # restart all workers for the app
$ cipi worker stop myapp      # stop all workers for the app (used during deploys)

# Laravel Horizon (v5.0+) — mutually exclusive with queue:work workers
$ cipi worker horizon enable myapp
$ cipi worker horizon status myapp
$ cipi worker horizon disable myapp

Avec Horizon activé, déploiement d'exécutions horizon:terminate et redémarre les travailleurs via cipi-worker. Vous ne pouvez pas exécuter Classic queue:work les travailleurs et Horizon sur la même application à la fois.

Drapeau Descriptif
--queue=<nom> Nom de la file d'attente à consommer (par ex. default, emails, exports)
--processes=<n> Nombre de processus de travail parallèles
--timeout=<secondes> Délai d'expiration de la tâche en secondes. La valeur par défaut est 60.

Les travailleurs sont arrêtés avant l'échange de lien symbolique et redémarrés après chaque déploiement, empêchant ainsi Cipi de récupérer des fichiers obsolètes artisan chemins. Supervisor est configuré avec autorestart=unexpected afin que les travailleurs redémarrent uniquement lors de sorties inattendues, et non lors de sorties gracieuses. s'arrête.

Assistant utilisateur de l'application : cipi-worker

Chaque utilisateur de l'application peut redémarrer, arrêter ou vérifier les travailleurs sans root - via un assistant restreint sudo installé à /usr/local/bin/cipi-worker:

coup
# run as the app user (SSH or sudo su - myapp)
$ sudo cipi-worker status myapp
$ sudo cipi-worker stop myapp      # used by Deployer before symlink swap
$ sudo cipi-worker restart myapp

En tant que root, utilisez cipi worker list|restart|stop <app> plutôt. Il n'y a pas cipi worker status commande admin - utiliser cipi worker list ou l'utilisateur de l'application aide ci-dessus.

cipi health

Depuis v5.0, configurez HTTP contrôles de santé par application. Un cron s'exécute toutes les 5 minutes ; après 3 échecs consécutifs Cipi notifie via le health_fail déclencheur (SMTP lorsque configuré).

coup
$ cipi health set myapp --url=https://myapp.com/up --expect=200
$ cipi health check myapp
$ cipi health list
$ cipi health unset myapp

# Structured output (v5.0.6+) — panel API / scripts
$ cipi health list --json
$ cipi health check myapp --json

REPOS : GET /api/health, GET|PUT|DELETE /api/apps/{name}/health, POST /api/apps/{name}/health/check (API 1.15.0+ / Cipi 5.0.6+).

cipi firewall

Cipi installe UFW avec les ports 22, 80 et 443 ouverts par défaut. Utilisez les commandes du pare-feu pour gérer règles supplémentaires sans toucher directement à UFW.

coup
$ cipi firewall allow 3306                  # open a port
$ cipi firewall allow 3306 --from=10.0.0.5  # allow from specific IP
$ cipi firewall allow 3306 --from=10.0.0.0/24 # allow from subnet
$ cipi firewall deny 8080                   # block a port
$ cipi firewall list                        # show all rules

cipi ban

Inspectez et gérez les bannissements Fail2ban directement depuis le CLI. Cipi configure Fail2ban avec progressif interdiction : une interdiction de base de 24 heures qui double à chaque récidive jusqu'à un plafond de 7 jours, avec un maximum de tentatives réduit à 3. Un dédié recidive la prison interdit les récidivistes pendant 7 jours après 3 interdictions dans les 24 heures.

coup
$ cipi ban list                        # list all banned IPs, grouped by jail
$ cipi ban unban 203.0.113.42           # unban a specific IP from all jails

cipi ban list

Répertorie toutes les adresses IP actuellement interdites par Fail2ban, regroupées par prison (par ex. sshd, recidive). Utile pour un contrôle de sécurité rapide ou avant d'exécuter un bannissement.

cipi ban unban <IP>

Supprime l'adresse IP donnée de tout Fail2ban emprisonne immédiatement. Pratique lorsqu'un utilisateur légitime ou le coureur CI est exclu par erreur.

Les installations existantes sont automatiquement mises à niveau par le script de migration 4.3.0 lorsque vous exécutez cipi self-update. Aucune configuration manuelle n'est nécessaire.

cipi service

Vérifiez et contrôlez les services système qui alimentent Cipi directement à partir du CLI. Nginx utilise un gracieux recharger (zéro temps d'arrêt) au lieu d'un redémarrage complet.

coup
$ cipi service list                    # status of all services
$ cipi service list nginx              # status of a specific service
$ cipi service restart                 # restart all services
$ cipi service restart nginx           # graceful reload (zero downtime)
$ cipi service restart php             # restart all PHP-FPM versions
$ cipi service start fail2ban
$ cipi service stop supervisor         # asks for confirmation

# Structured output (v5.0.6+) — panel API
$ cipi service list --json

REPOS : GET /api/services, POST /api/services/{name}/restart (Cipi 1.15.0+ / Cipi 5.0.6+; capacités services-view / services-manage).

Noms de services pris en charge : nginx, mariadb, postgresql (alias : pgsql, postgres — lorsqu'il est installé via cipi db install pgsql), valkey-server, supervisor, fail2ban, php<ver>-fpm (par ex. php8.5-fpm). Le mot clé php cible toutes les versions PHP-FPM installées à la fois. Pour le backend du cache, redis-server, redis, et valkey sont acceptés comme pseudonymes de valkey-server.

Valkey — le fork sous licence BSD et compatible Redis — est inclus dans la pile par défaut et remplace redis-server depuis Cipi 4.5.6. Il est installé avec un mot de passe, lié à localhost uniquement, et ses informations d'identification (utilisateur, mot de passe) sont enregistrées dans /etc/cipi/server.json et montré à la fin de l'installation. valkey-server est ajouté à la liste noire des mises à niveau sans surveillance — Cipi le gère, il est donc pas de mise à niveau automatique. Voir le Valkey section pour plus de détails et la migration automatique Redis → Valkey.

cipi ssh — Gestion des clés SSH

Gérer les clés SSH autorisées pour le cipi user - le point d'entrée SSH de l'administrateur. Le cipi utilisateur (groupe cipi-ssh) utilise uniquement la clé publique ; la connexion root est désactivée. Utilisateurs de l'application (groupe cipi-apps) connectez-vous avec un mot de passe — voir SSH en tant que l'utilisateur de l'application.

Commandes

coup
$ cipi ssh list                 # list all authorized keys with fingerprint, comment, and current-session marker
$ cipi ssh add [key]             # add a new SSH public key (validates format, prevents duplicates)
$ cipi ssh remove [n]            # remove a key by number
$ cipi ssh rename [n] [name]     # change the display name / comment of a key

# Structured output (v5.0.6+) — panel API
$ cipi ssh list --json

REPOS : GET|POST /api/ssh/keys, DELETE /api/ssh/keys/{n} (API 1.15.0+ / Cipi 5.0.6+).

Mécanismes de sécurité

cipi ssh remove comprend deux mesures de protection pour éviter le verrouillage :

  • Protection de la session en cours — vous ne pouvez pas supprimer la clé utilisée par votre SSH actif séance.
  • Protection de la dernière clé — vous ne pouvez pas supprimer la dernière clé autorisée restante.

Commentaires clés

Les clés SSH sont stockées avec leurs commentaires d'origine intacts, ce qui facilite l'identification de l'identité de chaque clé. appartient à. Utiliser cipi ssh rename pour modifier le nom d'affichage d'une touche :

coup
# list keys to find the number
$ cipi ssh list

# rename key #2
$ cipi ssh rename 2 "john-macbook"

Notifications par courrier électronique

Lorsque SMTP est configuré, Cipi envoie une alerte par e-mail chaque fois qu'une clé est ajoutée, supprimée ou renommée. La notification comprend le nom d'hôte du serveur, l'adresse IP, l'empreinte digitale de la clé, le commentaire clé, l'horodatage, et le nombre de clés restantes. Les notifications de renommage incluent également l’ancien et le nouveau nom de clé.

cipi — Serveur et mise à jour automatique

Commandes de niveau supérieur pour l'état du serveur et l'autogestion Cipi.

coup
$ cipi status              # CPU, RAM, disk, services, PHP versions, apps
$ cipi version             # show installed Cipi version
$ cipi self-update         # update Cipi to the latest version
$ cipi self-update --check # check for updates without installing

Réinitialisation du mot de passe et des informations d'identification

Cipi fournit des commandes pour régénérer les mots de passe au niveau du serveur. Les nouveaux mots de passe sont stockés dans /etc/cipi/server.json (crypté via Vault) et affiché à l'écran. Enregistrez-les immédiatement — ils ne sont affichés qu'une seule fois.

coup
$ cipi reset root-password              # regenerate the root Linux user SSH password
$ cipi reset db-password [--engine=…]   # regenerate root password (default or chosen engine)
$ cipi reset valkey-password           # regenerate the Valkey password and restart the service
cipi reset valkey-password (alias cipi reset redis-password) redémarre le service Valkey. Les clients connectés seront temporairement déconnectés. Si vos applications utilisez Valkey pour le cache ou les sessions, attendez-vous à une brève interruption.