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