Mode d'emploi des outils

Retrouver et changer les mots de passe générés (fichiers .env)

Où Mon serveur range les mots de passe de vos applications, comment les lire, lesquels on peut changer sans risque, et le piège du mot de passe de base de données.

Publié le 10 octobre 2026 · ⏱ 6 min de lecture

Le script de Mon serveur crée des mots de passe aléatoires sur votre serveur, pendant l’installation. Ils ne passent jamais par le site. Ce guide explique où ils sont, et surtout lesquels on peut changer.

Où sont-ils ?

Dans un fichier .env à côté du compose.yml de chaque application qui en a besoin :

ls /opt/stacks/*/.env                 # les applications qui ont des mots de passe
sudo cat /opt/stacks/paperless/.env   # les lire
# Mots de passe générés à l'installation. Ne partagez jamais ce fichier.
DB_PASSWORD=Xk3q…
PAPERLESS_SECRET_KEY=9f2c…
ADMIN_PASSWORD=Lm8v…

Ces fichiers ne sont lisibles que par root (chmod 600) : d’où le sudo.

Les trois sortes de secrets

Nom À quoi il sert Peut-on le changer ?
ADMIN_PASSWORD Mot de passe du premier compte administrateur Oui, dans l’application (voir plus bas)
DB_PASSWORD Mot de passe entre l’application et sa base de données Rarement utile, et piégeux
…_SECRET_KEY, APP_KEY, JWT_… Clé de chiffrement des sessions et données Non : perte de sessions, voire de données

Le mot de passe administrateur

Pour Nextcloud, Paperless ou Planka, le compte admin est créé au premier démarrage avec ADMIN_PASSWORD. Le script l’affiche à la fin de l’installation.

Changez-le dans l’application (profil ou paramètres), pas dans le .env : la valeur du .env n’est lue qu’à la toute première création du compte. La modifier ensuite ne change rien.

Le piège du mot de passe de base de données

DB_PASSWORD est utilisé deux fois : par la base de données à sa création, et par l’application à chaque connexion. Mais la base ne relit jamais le .env après sa création. Si vous changez DB_PASSWORD dans le .env, l’application envoie le nouveau mot de passe, la base attend l’ancien, et plus rien ne marche :

FATAL: password authentication failed for user "paperless"

(cette erreur dans le décodeur)

Si vous devez vraiment le changer (fichier .env qui a fuité, par exemple), changez-le aux deux endroits :

cd /opt/stacks/paperless
sudo docker compose exec db psql -U paperless -c "ALTER USER paperless PASSWORD 'NOUVEAU';"
sudo nano .env            # mettez le même NOUVEAU dans DB_PASSWORD
sudo docker compose up -d

Le nom d’utilisateur de la base est dans le compose.yml (POSTGRES_USER).

Générer un bon mot de passe sur le serveur

La même méthode que le script :

openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32; echo

Évitez les caractères $ dans un .env : Docker les prend pour des variables (l’erreur que ça provoque).

Le .env survit à la relance du script

Quand vous relancez le script pour ajouter une application, il affiche « .env existant conservé » : vos mots de passe ne changent pas. Si vous supprimez un .env par erreur, le script en recréera un nouveau, différent, ce qui provoquera le piège ci-dessus. Restaurez-le plutôt depuis la sauvegarde : il est dans l’archive de l’application.

Les règles d’or

  • Ne partagez jamais un .env, ne le mettez jamais sur GitHub.
  • Ne collez pas son contenu dans un forum ou un chat d’aide : masquez les valeurs.
  • Rangez les mots de passe administrateur dans votre gestionnaire de mots de passe (Vaultwarden, par exemple).

Une commande qui ne marche pas, une explication pas claire ? Signaler une erreur dans cette page.

Prêt à vous lancer ?

Choisissez vos applications et récupérez une installation complète.

Créer mon serveur