Skip to content

Maneger passwords vaulwarden on docker with nginx

Домен vault.domain.com предоствлен как пример замените на свой иначе vaultwarden не заработает

1. Создаем папку и файл docker-compose.yml

mkdir /etc/docker/vaultwarden

Файл docker-compose.yml

version: '3.8'

services:
  vaultwarden:
    # Использую официальный образ Vaultwarden
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped

    # Порты для доступа
    ports:
      - "127.0.0.1:8080:80" # HTTP порт
      - "3012:3012" # WebSocket для уведомлений

    # Тома для данных
    volumes:
      # Основные данные Vaultwarden
      - ./vw-data:/data
      # Логи для отладки
      - ./vw-logs:/var/log/vaultwarden

    # Переменные окружения
    environment:
      # ВАЖНО: Смените этот ключ на случайный!
      # Используйте: openssl rand -base64 48
#      - ADMIN_TOKEN=your-admin-token-here

      # Домен вашего сервера
      - DOMAIN=https://vault.domain.com

      # Настройки безопасности
      - SIGNUPS_ALLOWED=true # Отключить регистрацию
      - INVITATIONS_ALLOWED=true # Разрешить приглашения

1.2 поднимаем docker контейнер командой docker compose up -d

2. Настраиваем nginx и получаем сертификат

устанавливаем nginx и certbot

apt install certbot python3-certbot-nginx nginx
systemctl enable --now nginx
nano /etc/nginx/sites-available/vault.domain.com
Содержимое файла vault.domain.com
server {
    server_name vault.domain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. Обязательно делаем ссылку без нее не будет работать и перезапускаем nginx

ln -s /etc/nginx/sites-available/vault.domain.com /etc/nginx/sites-enabled/
systemctl restart nginx

Получаем сетификат и еще раз перезапускаем nginx

certbot --nginx -d vault.doamin.com
systemctl restart nginx

4. Если мы все правильно сделали, то регистрируемся на нащем сайте vault.domain.com , после редактируем в docker-compose.yml параметр SIGNUPS_ALLOWED с true на false что бы запретить решистрацию если надо