Vaultwarden is a lightweight, self-hosted implementation of the Bitwarden password manager server. It lets you store and sync encrypted credentials across devices using official Bitwarden clients. Designed to run on minimal resources, it’s perfect for personal or small-team use. You retain full control of your data while maintaining compatibility with Bitwarden’s features. It’s a secure and cost-effective solution for password management.

Setup

docker-compose.yaml

version: '3'

networks:
  docker_net:
    external: true

volumes:
  data:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    hostname: vaultwarden
    restart: unless-stopped
    ports:
      - 8082:80
    environment:
      - DOMAIN=$DOMAIN
      - ADMIN_TOKEN=$ADMIN_TOKEN
      - LOGIN_RATELIMIT_MAX_BURST=10
      - LOGIN_RATELIMIT_SECONDS=60
      - ADMIN_RATELIMIT_MAX_BURST=10
      - ADMIN_RATELIMIT_SECONDS=60
      - SENDS_ALLOWED=true
      - EMERGENCY_ACCESS_ALLOWED=true
      - WEB_VAULT_ENABLED=true
      - INVITATIONS_ALLOWED=true
      - SIGNUPS_ALLOWED=true
      - SIGNUPS_VERIFY=true
      - SIGNUPS_VERIFY_RESEND_TIME=3600
      - SIGNUPS_VERIFY_RESEND_LIMIT=5
      - SMTP_HOST=smtp.googlemail.com
      - SMTP_FROM=$SMTP_FROM
      - SMTP_FROM_NAME=Vaultwarden
      - SMTP_SECURITY=starttls
      - SMTP_PORT=587
      - SMTP_USERNAME=$SMTP_USERNAME
      - SMTP_PASSWORD=$SMTP_PASSWORD
      - SMTP_AUTH_MECHANISM=Login
      - PUSH_ENABLED=true
      - PUSH_INSTALLATION_ID=$PUSH_INSTALLATION_ID
      - PUSH_INSTALLATION_KEY=$PUSH_INSTALLATION_KEY
      - PUSH_RELAY_URI=https://push.bitwarden.eu
      - PUSH_IDENTITY_URI=https://identity.bitwarden.eu
    volumes:
      - data:/data
    networks:
      - docker_net

Sources