feat: add Vaultwarden Docker setup
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
16
docker-compose.yml
Normal file
16
docker-compose.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
vaultwarden:
|
||||
image: vaultwarden/server:latest
|
||||
container_name: vaultwarden
|
||||
restart: always
|
||||
volumes:
|
||||
- ./data:/data
|
||||
ports:
|
||||
- "8080:80"
|
||||
environment:
|
||||
WEBAUTHN_ENABLED: "true"
|
||||
WEBSOCKET_ENABLED: "true"
|
||||
ADMIN_TOKEN: ${VAULTWARDEN_ADMIN_TOKEN}
|
||||
|
||||
56
setup-vaultwarden-https.sh
Executable file
56
setup-vaultwarden-https.sh
Executable file
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
DOMAIN="vault"
|
||||
CERT_DIR="/etc/ssl/vaultwarden"
|
||||
NGINX_SITE="/etc/nginx/sites-available/vaultwarden"
|
||||
NGINX_LINK="/etc/nginx/sites-enabled/vaultwarden"
|
||||
|
||||
echo "🔧 Création du certificat auto-signé..."
|
||||
|
||||
# Créer le dossier pour les certificats
|
||||
sudo mkdir -p $CERT_DIR
|
||||
|
||||
# Générer la clé privée et le certificat auto-signé
|
||||
sudo openssl req -x509 -nodes -days 365 \
|
||||
-subj "/CN=$DOMAIN" \
|
||||
-newkey rsa:2048 \
|
||||
-keyout $CERT_DIR/vaultwarden.key \
|
||||
-out $CERT_DIR/vaultwarden.crt
|
||||
|
||||
echo "✅ Certificat généré dans $CERT_DIR"
|
||||
|
||||
echo "🧾 Configuration NGINX pour $DOMAIN..."
|
||||
|
||||
# Créer la config nginx
|
||||
sudo tee $NGINX_SITE > /dev/null <<EOF
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name $DOMAIN;
|
||||
|
||||
ssl_certificate $CERT_DIR/vaultwarden.crt;
|
||||
ssl_certificate_key $CERT_DIR/vaultwarden.key;
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost: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;
|
||||
}
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
server_name $DOMAIN;
|
||||
return 301 https://\$host\$request_uri;
|
||||
}
|
||||
EOF
|
||||
|
||||
# Activer le site
|
||||
sudo ln -sf $NGINX_SITE $NGINX_LINK
|
||||
|
||||
# Redémarrer nginx
|
||||
sudo nginx -t && sudo systemctl reload nginx
|
||||
|
||||
echo "✅ NGINX configuré avec HTTPS pour https://$DOMAIN"
|
||||
|
||||
Reference in New Issue
Block a user