Configurer Vaultwarden avec Traefik

- Auto-Hébergement

Ça fait plusieurs mois que mon abonnement à Enpass est terminé et que j’ai décidé de changer de crêmerie pour Bitwarden. Le problème de Bitwarden c’est que la procédure d’installation est assez complexe.

Mais c’est là que Vaultwarden arrive et va simplifier tout ça… Du moins c’est ce que je pensais au début, l’installation de Vaultwarden ne s’est pas forcément passé comme je l’espérais car j’utilise Traefik comme proxy et qu’il y a quelques petites spécificités à connaitre.

Sans perdre d’avantage de temps voici un extrait de mon fichier docker-compose.yml ou j’ai configuré mon container Vaultwarden.

version: "2"

networks:
  traefik:
    external: true

volumes:
  vaultwarden_data:
    driver: local

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    networks:
      - traefik
    environment:
      - SIGNUPS_ALLOWED="false"
      - DOMAIN="https://vaultwarden.example.com"
      - SHOW_PASSWORD_HINT="false"
      - TIME_ZONE="Europe/Paris"
      - TZ="Europe/Paris"
      - WEBSOCKET_ENABLED="true"
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik"
      # UI
      - "traefik.http.routers.vaultwarden-ui.rule=Host(`vaultwarden.example.com`)"
      - "traefik.http.routers.vaultwarden-ui.entrypoints=https"
      - "traefik.http.routers.vaultwarden-ui.tls=true"
      - "traefik.http.routers.vaultwarden-ui.tls.certresolver=your_resolver"
      - "traefik.http.services.vaultwarden-ui.loadbalancer.server.port=80"
      - "traefik.http.services.vaultwarden-ui.loadbalancer.passhostheader=true"
      - "traefik.http.routers.vaultwarden-ui.service=vaultwarden-ui"
      # WS
      - "traefik.http.routers.vaultwarden-ws.rule=Host(`vaultwarden.example.com`) && Path(`/notifications/hub`)"
      - "traefik.http.routers.vaultwarden-ws.entrypoints=https"
      - "traefik.http.services.vaultwarden-ws.loadbalancer.server.port=3012"
      - "traefik.http.routers.vaultwarden-ws.tls=true"
      - "traefik.http.routers.vaultwarden-ws.tls.certresolver=your_resolver"
      - "traefik.http.routers.vaultwarden-ws.service=vaultwarden-ws"
    volumes:
      - vaultwarden_data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro

Prenez bien le temps de remplacer les variables d’exemple pour le domaine, votre configuration Traefik (certificat resolver, Host, …) et le nom volume si vous utilisez un volume.

Voici quelques points important :

Voila, pour mon cas cette configuration m’a permis d’utiliser et de synchroniser mes données avec le site web et les applications Mac/iOS Bitwarden sans soucis, j’espère que si comme moi vous utilisez Traefik cette configuration pourra vous aider à profiter de VaultWarden.