83 lines
3.0 KiB
Markdown
83 lines
3.0 KiB
Markdown
# r Meneger passwords vaulwarden on docker with nginx
|
||
## Домен `vault.domain.com` предоствлен как пример замените на свой иначе vaultwarden не заработает
|
||
### 1. Создаем папку и файл `docker-compose.yml`
|
||
|
||
```bash
|
||
mkdir /etc/docker/vaultwarden
|
||
```
|
||
|
||
Файл `docker-compose.yml`
|
||
|
||
```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
|
||
```bash
|
||
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
|
||
```bash
|
||
ln -s /etc/nginx/sites-available/vault.domain.com /etc/nginx/sites-enabled/
|
||
systemctl restart nginx
|
||
```
|
||
#### Получаем сетификат и еще раз перезапускаем nginx
|
||
```bash
|
||
certbot --nginx -d vault.doamin.com
|
||
systemctl restart nginx
|
||
```
|
||
### 4. Если мы все правильно сделали, то регистрируемся на нащем сайте `vault.domain.com` , после редактируем в `docker-compose.yml` параметр `SIGNUPS_ALLOWED` с `true` на `false` что бы запретить решистрацию если надо
|
||
|