Vaultwarden, hafif ve Bitwarden uyumlu bir parola sunucusudur. Normal Bitwarden uygulamalarını ve tarayıcı eklentilerini kullanırsınız, ancak kasanız sizin kontrol ettiğiniz bir sunucuda durur. Çok az bellek kullandığı için küçük bir VPS yeterlidir. Parolalarınızı barındırdığı için kurulumu dikkatle yapın.
Başlamadan önce
- Docker kurulu bir VPS. Docker kurulumuna bakın.
- Sunucuyu gösteren bir alan adı. Bkz. DNS kayıtları açıklaması.
- Verileri yedekleme planı. Bkz. VPS yedekleri.
Daha fazla bilgi için kendi sunucunuzda barındırılan Vaultwarden sayfamıza bakın.
Adım 1: Docker Compose dosyası
mkdir -p ~/vaultwarden && cd ~/vaultwarden
cat > compose.yaml <<'EOF'
services:
vaultwarden:
image: vaultwarden/server:latest
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true" # switch to false after you create your account
ADMIN_TOKEN: "${ADMIN_TOKEN}"
volumes:
- ./data:/data
ports:
- "127.0.0.1:8081:80"
EOF
Adım 2: yönetici belirteci oluşturun
Yönetici sayfası kullanıcıları yönetmenizi sağlar. Düz metin değil, karma (hash) haline getirilmiş bir belirteç saklayın. Vaultwarden imajı bunun için bir yardımcı içerir:
docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
Adım 3: başlatın
docker compose up -d
docker compose logs -f
Adım 4: Caddy ile HTTPS
Bitwarden istemcileri HTTPS gerektirir.
vault.example.com {
reverse_proxy 127.0.0.1:8081
}
Caddy'yi yeniden yükleyin ve siteyi açın. Hesabınızı oluşturun, ardından SIGNUPS_ALLOWED değerini false yapın ve yabancıların kayıt olamaması için docker compose up -d komutunu tekrar çalıştırın.
Adım 5: iki adımlı girişi açın
Web kasasında, bir kimlik doğrulama uygulaması veya donanım anahtarıyla iki adımlı girişi etkinleştirin. Kurtarma kodunu çevrimdışı saklayın.
Kasayı yedekleyin
Tüm veriler ./data içindedir; çoğunlukla SQLite veritabanı ve eklerdir. Düzenli aralıklarla tutarlı bir kopya alın ve sunucunun dışında tutun:
sqlite3 data/db.sqlite3 ".backup '/backup/vaultwarden-$(date +%F).sqlite3'"
tar czf /backup/vw-files-$(date +%F).tgz data/attachments data/rsa_key*
Geri yüklemeyi en az bir kez test edin. Hiç test etmediğiniz bir yedek yalnızca bir umuttur.