Запуск Vaultwarden с Docker Compose через Traefik

Vaultwarden — лёгкий совместимый с Bitwarden сервер паролей. Ниже — установка за Traefik: свой сейф без подписки Bitwarden и без публикации лишних портов наружу.

Ниже — минимальный и проверенный стек: один контейнер + Traefik + HTTPS.

1. Каталог и секрет

mkdir -p ~/vaultwarden/data
cd ~/vaultwarden
openssl rand -base64 48

Сохраните вывод openssl — это будет ADMIN_TOKEN для админ-панели.

2. docker-compose.yml

Замените vault.yourdomain и токен:

services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      DOMAIN: "https://vault.yourdomain"
      SIGNUPS_ALLOWED: "false"
      ADMIN_TOKEN: "PASTE_ADMIN_TOKEN_HERE"
      WEBSOCKET_ENABLED: "true"
    volumes:
      - ./data:/data
    labels:
      - traefik.enable=true
      - traefik.http.middlewares.vaultwarden_https.redirectscheme.scheme=https
      - traefik.http.routers.vaultwarden.entrypoints=web
      - traefik.http.routers.vaultwarden.middlewares=vaultwarden_https@docker
      - traefik.http.routers.vaultwarden.rule=Host(`vault.yourdomain`)
      - traefik.http.routers.vaultwarden_https.entrypoints=websecure
      - traefik.http.routers.vaultwarden_https.rule=Host(`vault.yourdomain`)
      - traefik.http.routers.vaultwarden_https.tls=true
      - traefik.http.routers.vaultwarden_https.tls.certresolver=le
      - traefik.http.services.vaultwarden.loadbalancer.server.port=80
    networks:
      - traefik_network

networks:
  traefik_network:
    external: true

SIGNUPS_ALLOWED=false — после создания своего аккаунта регистрация закрыта. Для первого запуска временно поставьте true, создайте пользователя, затем верните false и перезапустите контейнер.

3. Запуск

docker compose up -d
docker compose logs -f --tail=50 vaultwarden

Откройте https://vault.yourdomain, зарегистрируйте аккаунт, установите клиент Bitwarden (официальные приложения совместимы) и укажите свой сервер в настройках.

Админ-панель: https://vault.yourdomain/admin (вход по ADMIN_TOKEN).

Бэкап

Критичен каталог ./data (база и вложения). Копируйте его регулярно вместе с другими volume сервера.

Важно

  • Не публикуйте порт 80 контейнера напрямую в интернет — только через Traefik.
  • Включите 2FA в аккаунте Vaultwarden.
  • Храните ADMIN_TOKEN вне git и вне публичных чатов.

Готово: свой Bitwarden-совместимый сейф за HTTPS.