# Présentation

Vaultwarden est un gestionnaire de mot de passe gratuit, OpenSource et SelfHosted basé sur Bitwarden. il inclut pas mal de fonctionnalités intéressantes tels que :

- Une application pour Windows, Mac et Linux (Disponible ici)
- Une application iOS et Android (Disponible ici)
- Une extension de navigateurs (Disponible ici)
- La gestion du 2FA
- Gestion de notes sécurisés, d'identités et de moyens de payements
- Classements par collections, dossiers et favoris
- Un générateur de mot de passe
- La possibilité de partager des mots de passe avec d'autres utilisateurs internes et externes
- Une gestion des droits avancées
- Le chiffrement des données stockées
- Support de la Yubikey et de Duo
- Et plein de petites configurations utiles !

Vous pouvez retrouver le Github du projet ici.

# Installation

## Le serveur

Vous pouvez passer par une installation standard via la documentation disponible sur Github, le déployer directement depuis mon template d'application dans Portainer (turoriel dispo ici) ou utiliser le docker-compose suivant :

    version: "2"
    services:
      vaultwarden:
        image: vaultwarden/server:latest
        container_name: vaultwarden
        restart: always
        volumes:
          - /apps/vaultwarden/bw-data:/data
          - /etc/localtime:/etc/localtime
        environment:
          WEBSOCKET_ENABLED: 'true' # Required to use websockets
          SIGNUPS_ALLOWED: 'true'   # set to false to disable signups
          TZ: 'Europe/Paris'
          ADMIN_TOKEN: '$TOKEN'
        ports:
          - 3012:3012
          #- 8080:80 # Facultatif avec Traefik

        # Facultatif : support de Loki
        logging:
          driver: loki
          options:
            loki-url: "$URL_LOKI"
            loki-external-labels: service={{.Name}}

        # Facultatif : support de Traefik
        networks:
          - proxy

        labels:
          - "traefik.enable=true"
          - "traefik.http.routers.password.entrypoints=http"
          - "traefik.http.routers.password.rule=Host(`$URL`)"
          - "traefik.http.middlewares.password-https-redirect.redirectscheme.scheme=https"
          - "traefik.http.routers.password.middlewares=password-https-redirect"
          - "traefik.http.routers.password-secure.entrypoints=https"
          - "traefik.http.routers.password-secure.rule=Host(`$URL`)"
          - "traefik.http.routers.password-secure.tls=true"
          - "traefik.http.routers.password-secure.tls.certresolver=http"
          - "traefik.docker.network=proxy"

    networks:
      proxy:
        external:
          name: proxy

> Attention : Pensez à changer dans le docker-compose ou à définir les variables suivantes : $TOKEN, $URL_LOK I, $URL en fonction de votre installation.

Votre Vaultwarden sera accessible directement depuis l'URL que vous lui aurais attribué avec Traefik ou depuis `http://<server>:<port>`.

L'interface administrateur est disponible ici : `<URL>/admin`

L'API est disponible ici : `<URL>/api`

> Attention : Pensez à régler l'heure du serveur hôte pour le 2FA

## Configuration

### L'URL du site

Pour le bon fonctionnement de Vaultwarden, il est indispensable de configurer l'URL du site dans sa configuration :

1. Rendez-vous sur la panel admin à partir de cette URL : `<URL>/admin`
2. Entrez le token que vous avez mis dans votre docker-compose
3. Cliquez sur l'onglet “Général” dans l'onglet “Settings”
4. Rentrez l'URL de votre site dans le champs “Domain URL”

### Le serveur SMTP

Si vous souhaitez utiliser toutes les fonctionnalité de Vaulwarden, vous devez configurer le serveur SMTP :

1. Rendez-vous sur la panel admin à partir de cette URL : `<URL>/admin`
2. Entrez le token que vous avez mis dans votre docker-compose
3. Cliquez sur l'onglet “SMTP Email Settings” dans l'onglet “Settings”
4. Rentrez les informations de votre serveur SMTP
5. Testez avec l'envoi d'un mail

## Configurer les applications

Les différentes applications sont disponibles au téléchargement ici.

Une fois installé, vous devez configurer votre serveur avant de vous connecter :

1. Cliquez sur l'engrenage en haut à gauche

2. Entrez l'URL de votre serveur et cliquez sur “Enregistrer”

3. Vous pouvez maintenant vous connecter avec vos identifiants dans l'application !