ITSkillsCenter
Cybersécurité

Déployer Vaultwarden sur Coolify avec HTTPS : tutoriel complet 2026

8 min de lecture

📍 Article principal de la série : Vaultwarden self-hosted 2026 : guide complet. Ce tutoriel fait partie du cluster Vaultwarden ; Pour la vue d’ensemble, lisez d’abord le guide général.

Vous avez 20 minutes devant vous et un VPS qui attend. À la fin de ce tutoriel, vous aurez un Vaultwarden de production avec HTTPS valide, un compte administrateur sécurisé, et la possibilité d’inviter votre équipe dans la foulée. La méthode présentée utilise Coolify v4, le PaaS open source qui rend l’auto-hébergement aussi simple que Heroku, et Hetzner CX22 comme hébergeur. Le coût total : 4,51 € par mois pour 50 utilisateurs.

Prérequis

  • Un VPS Linux (Hetzner CX22, OVH VPS-1, Scaleway DEV1-S ou équivalent) avec Ubuntu 22.04 LTS ou Debian 12.
  • Coolify v4.0+ déjà installé. Si ce n’est pas le cas, suivez le tutoriel Coolify self-hosted 2026.
  • Un nom de domaine (par exemple vault.votre-entreprise.com) avec un enregistrement DNS A pointant sur l’IP publique du VPS.
  • Niveau attendu : intermédiaire (vous savez vous connecter en SSH et lire un fichier YAML).
  • Temps estimé : 20 à 30 minutes incluant la propagation DNS.

Étape 1 — Préparer l’enregistrement DNS

Avant tout, créez un enregistrement DNS de type A pointant vault.votre-entreprise.com vers l’IP publique de votre VPS. Sur Cloudflare, OVH, Gandi, Namecheap ou Hostinger, l’opération prend deux minutes. Désactivez le proxy Cloudflare (l’orange cloud doit être gris) le temps de l’émission du certificat Let’s Encrypt, vous pourrez le réactiver après.

Vérifiez la propagation depuis un terminal :

dig +short vault.votre-entreprise.com
# Doit retourner l'IP de votre VPS

Si la commande ne retourne rien après 5 minutes, vérifiez votre TTL et patientez. Tant que la résolution DNS ne fonctionne pas, Let’s Encrypt refusera de générer le certificat.

Étape 2 — Créer un nouveau service dans Coolify

Connectez-vous à votre interface Coolify (typiquement https://coolify.votre-entreprise.com). Dans le menu de gauche, cliquez sur Resources+ NewService. Coolify propose un catalogue de services prêts à l’emploi. Recherchez « Vaultwarden » dans la barre, sélectionnez le template officiel maintenu par l’équipe Coolify (mis à jour mensuellement, version 1.34 au moment de l’écriture).

Donnez un nom au service : vaultwarden-prod. Choisissez le serveur cible (votre Hetzner CX22) et le projet (créez « Production » si ce n’est pas déjà fait). Cliquez sur Continue.

Étape 3 — Configurer le domaine et HTTPS

Dans l’onglet Configuration, renseignez le champ Domains avec https://vault.votre-entreprise.com. Coolify détecte automatiquement le besoin d’un certificat Let’s Encrypt et configure son reverse proxy interne (Traefik 2.10 par défaut). Activez l’option Force HTTPS Redirect pour rediriger tout trafic HTTP vers HTTPS.

Vérifiez que la variable d’environnement DOMAIN est bien définie sur https://vault.votre-entreprise.com. Cette variable est cruciale : Vaultwarden l’utilise pour valider les requêtes WebAuthn et générer les liens d’invitation. Une valeur incorrecte casse silencieusement les Passkeys.

Étape 4 — Sécuriser les variables critiques

Vaultwarden lit son comportement depuis des variables d’environnement. Voici la configuration minimale recommandée pour un déploiement de production :

SIGNUPS_ALLOWED=false
INVITATIONS_ALLOWED=true
SHOW_PASSWORD_HINT=false
WEB_VAULT_ENABLED=true
SENDS_ALLOWED=true
EMERGENCY_ACCESS_ALLOWED=true
ORG_CREATION_USERS=admin@votre-entreprise.com
LOG_LEVEL=warn
LOG_FILE=/data/vaultwarden.log
EXTENDED_LOGGING=true

Pour le panneau d’administration (accessible sur /admin), générez un token Argon2 :

docker run --rm -it vaultwarden/server:1.34 /vaultwarden hash
# Saisir un mot de passe fort, copier le hash $argon2id$v=19$...
# Coller dans la variable ADMIN_TOKEN de Coolify

Ne stockez jamais ce hash dans Git. Coolify chiffre les variables marquées SECRET dans sa propre base, c’est l’option à privilégier.

Étape 5 — Configurer SMTP pour les invitations

Sans SMTP, Vaultwarden ne peut pas envoyer les emails d’invitation à votre équipe. Deux options pratiques pour l’Afrique de l’Ouest :

  • Brevo (ex-Sendinblue) : 300 emails par jour gratuits, idéal pour une PME. Configuration via SMTP relay sur le port 587 avec STARTTLS.
  • Resend : 3000 emails par mois gratuits, API moderne, réputation élevée pour la délivrabilité vers les boîtes Gmail et Outlook africaines.

Variables Vaultwarden :

SMTP_HOST=smtp-relay.brevo.com
SMTP_PORT=587
SMTP_SECURITY=starttls
SMTP_USERNAME=votre-login@brevo.com
SMTP_PASSWORD=votre-clé-api
SMTP_FROM=vault@votre-entreprise.com
SMTP_FROM_NAME=Vaultwarden Equipe

Étape 6 — Lancer le déploiement

Cliquez sur Deploy dans Coolify. L’interface montre les logs en temps réel : pulling vaultwarden/server:1.34, creating container, requesting certificate from Let’s Encrypt, service is healthy. Comptez 60 à 120 secondes au premier déploiement.

Si une erreur Let’s Encrypt apparaît (too many requests), c’est que vous avez atteint la limite de 5 certificats par semaine pour ce domaine. Attendez 7 jours ou utilisez un sous-domaine alternatif pour vos tests.

Étape 7 — Vérification et premier compte

Ouvrez votre navigateur sur https://vault.votre-entreprise.com. Vous devez voir l’écran de connexion Bitwarden avec votre nom de domaine. Le cadenas vert dans la barre d’adresse confirme que TLS fonctionne. Vérifiez l’émetteur : Let’s Encrypt R3 ou R10.

Cliquez sur Créer un compte. Renseignez l’email administrateur défini dans ORG_CREATION_USERS. Choisissez un master password de 16 caractères minimum. Cochez « Je comprends que ce mot de passe ne peut pas être récupéré ». Validez. Vous êtes connecté à votre Vaultwarden de production.

Activez immédiatement le 2FA depuis Paramètres du compteSécuritéConnexion en deux étapes. Ajoutez TOTP via Aegis, Authy ou 1Password. Pour les administrateurs, ajoutez en plus une YubiKey ou un Passkey.

Étape 8 — Créer votre première organisation

Dans le menu, cliquez sur Nouvelle organisation. Nommez-la avec votre nom d’entreprise. Créez les collections initiales : Production, Staging, Outils SaaS, Réseaux sociaux, Comptes admin. Pour chacune, vous définirez plus tard les permissions par utilisateur.

Invitez vos premiers collaborateurs via leur email. Ils recevront un lien d’inscription pré-rempli, créeront leur compte, et seront automatiquement rattachés à votre organisation après votre confirmation.

Erreurs fréquentes

Erreur Cause Solution
502 Bad Gateway après déploiement Variable DOMAIN incorrecte ou DNS non propagé Vérifier dig et corriger DOMAIN dans Coolify
Erreur Let’s Encrypt rate limit Trop de tentatives sur le même domaine Attendre 7 jours ou utiliser un sous-domaine différent
Emails d’invitation jamais reçus SMTP mal configuré ou STARTTLS manquant Tester avec swaks depuis le VPS, vérifier les ports sortants 587/465
Admin panel inaccessible ADMIN_TOKEN absent ou mal hashé Régénérer un hash Argon2 et redéployer
Container redémarre en boucle Volume /data en lecture seule Vérifier les permissions du volume Docker dans Coolify
Coolify ne montre pas Vaultwarden dans les services Catalogue obsolète Faire git pull sur le repo coolify-templates ou déployer manuellement via docker-compose.yml

Adaptation au contexte ouest-africain

Pour une équipe basée à Dakar, Abidjan, Bamako, Cotonou ou Niamey, voici les ajustements concrets à connaître. Hébergement géographique : préférez Hetzner Falkenstein (FSN1) ou OVH Roubaix (RBX) pour avoir une latence sous 100 ms vers Paris, qui est le hub Internet pour la majeure partie de l’Afrique de l’Ouest. Hetzner Helsinki ajoute 30 ms ; OVH Beauharnois (Canada) est inutilisable pour ce cas d’usage.

Paiement : Hetzner accepte les cartes Visa et Mastercard de toute banque africaine, plus PayPal et SEPA. Une carte CIH au Maroc, BICIS au Sénégal, ou une carte virtuelle Wave Business fonctionnent sans frottement. Le minimum de facturation Hetzner est de 1 € par mois ; un VPS CX22 démarré en milieu de mois est facturé 2,80 € le premier mois puis 4,51 €.

Bande passante : Hetzner offre 20 To de transfert mensuel sur le CX22, largement suffisant pour Vaultwarden (typiquement 5 à 50 Mo par utilisateur et par mois). Au-delà, c’est 1 € par To supplémentaire, ce qui reste imbattable face aux clouds américains qui facturent 0,09 USD par Go sortant.

Articles connexes

FAQ

Puis-je utiliser Caddy au lieu de Traefik ? Oui, Coolify v4 supporte Caddy comme alternative au reverse proxy. Le comportement HTTPS automatique est identique. Pour basculer, dans Server SettingsProxy → choisir Caddy. Note : la migration nécessite un redémarrage de tous les services exposés.

Comment activer YubiKey pour mon équipe ? Au niveau organisation : Settings → Two-step Login Provider Policy → Enabled. Au niveau utilisateur : chaque membre ajoute sa clé YubiKey dans Mon compte → Connexion en deux étapes → YubiKey OTP. La configuration sur le serveur ne nécessite plus rien depuis Vaultwarden 1.30 (les YubiKeys validées via la cloud API Yubico).

Que faire si Coolify est lui-même en panne ? Vaultwarden continue de fonctionner indépendamment de Coolify : les containers Docker tournent sans la couche d’orchestration. Vous pouvez redémarrer Coolify sans toucher à Vaultwarden via docker compose -f /var/lib/coolify/services/vaultwarden-prod/docker-compose.yml up -d.

Comment migrer vers PostgreSQL plus tard ? Dump SQLite, conversion via pgloader, restauration sur Postgres, mise à jour de la variable DATABASE_URL, redéploiement. La procédure est documentée sur le wiki Vaultwarden et prend 15 minutes pour une base de moins de 5 000 entrées.

Coolify est-il vraiment gratuit ? Oui, la version self-hosted de Coolify est sous licence Apache 2.0, sans limite d’utilisateurs ni de services. La version cloud (Coolify.io) est payante mais facultative.

Pour aller plus loin

Besoin d'un site web ?

Confiez-nous la Création de Votre Site Web

Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.

À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité