Servidor de contraseñas compatible con Bitwarden en tu VPS: Docker, HTTPS con Caddy, token admin, registros desactivados, copias cifradas fuera del servidor.
Vaultwarden es un servidor ligero de Rust compatible con cada cliente oficial de Bitwarden — extensiones de navegador, aplicaciones móviles, escritorio. Su base de datos de contraseñas vive como SQLite en su VPS, detrás de su dominio y su certificado HTTPS.
apt update && apt install -y ufw
ufw allow OpenSSH && ufw allow 80/tcp && ufw allow 443/tcp && ufw --force enable
mkdir -p /opt/vaultwarden/data && cd /opt/vaultwarden
echo "ADMIN_TOKEN=$(openssl rand -base64 48)" > .env # save this token!
cat > docker-compose.yml <<'EOF'
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
env_file: .env
environment:
- DOMAIN=https://vault.example.com
- SIGNUPS_ALLOWED=true
- WEB_VAULT_ENABLED=true
ports:
- "127.0.0.1:8085:80"
volumes:
- ./data:/data
EOF
docker compose up -dEl panel se enlaza solo a `127.0.0.1` — internet lo alcanza a través de Caddy en el paso siguiente. Todo (la bóveda `db.sqlite3`, los adjuntos, la configuración) está en `./data`.
apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
vault.example.com {
reverse_proxy 127.0.0.1:8085
}
EOF
systemctl reload caddyApunte primero el registro A, luego abra `https://vault.example.com`, registre su cuenta — y cambie de inmediato `SIGNUPS_ALLOWED=false` en `docker-compose.yml` y ejecute `docker compose up -d` de nuevo. El panel de administración vive en `/admin` detrás del `ADMIN_TOKEN`.
En cualquier cliente de Bitwarden elija Self-hosted en la pantalla de inicio de sesión e introduzca `https://vault.example.com`. Para las copias de seguridad, toda la bóveda es una carpeta: la guía de restic con un temporizador diario mantiene una copia cifrada fuera del servidor — las contraseñas son exactamente los datos que nunca quiere reconstruir.
Sí — las extensiones de navegador, los clientes de iOS/Android y de escritorio todos tienen un modo alojado por usted; configure su dominio y su inicio de sesión como de costumbre. Dos advertencias: las funciones premium como Bitwarden Send son implementaciones propias de Vaultwarden, y las funciones oficiales solo de la nube (compartición de organización con facturación en la nube) funcionan solo donde Vaultwarden las implementa.
Muy pocos: ~100–200 MB de RAM, unos pocos por ciento de CPU incluso durante la sincronización. Un Core VPS 4 (€12/mes) es lujoso y comparte la máquina con otros servicios; incluso el plan más pequeño que ejecute es más que suficiente, y esa es la gracia — el coste es su disciplina, no la factura.