Vaultwarden یک سرور سبک رمز عبور و سازگار با Bitwarden است. شما از برنامهها و افزونههای مرورگر معمولی Bitwarden استفاده میکنید، اما گاوصندوق شما روی سروری قرار دارد که خودتان کنترل میکنید. حافظه بسیار کمی مصرف میکند، پس یک VPS کوچک کاملاً کافی است. چون رمزهای عبور شما را نگه میدارد، آن را با دقت راهاندازی کنید.
پیش از شروع
- یک VPS با Docker. نصب Docker را ببینید.
- دامنهای که به سرور اشاره کند. توضیح رکوردهای DNS را ببینید.
- برنامهای برای پشتیبانگیری از دادهها. پشتیبانگیری از VPS را ببینید.
اطلاعات بیشتر در صفحه Vaultwarden خودمیزبان ما موجود است.
مرحله ۱: فایل Docker Compose
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
مرحله ۲: ساخت توکن مدیر
صفحه مدیریت به شما امکان میدهد کاربران را مدیریت کنید. توکن را بهصورت هششده ذخیره کنید، نه متن ساده. ایمیج Vaultwarden یک ابزار کمکی دارد:
docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
مرحله ۳: راهاندازی
docker compose up -d
docker compose logs -f
مرحله ۴: HTTPS با Caddy
کلاینتهای Bitwarden به HTTPS نیاز دارند.
vault.example.com {
reverse_proxy 127.0.0.1:8081
}
Caddy را دوباره بارگذاری کنید و سایت را باز کنید. حساب خود را بسازید، سپس SIGNUPS_ALLOWED را روی false بگذارید و دوباره docker compose up -d را اجرا کنید تا افراد غریبه نتوانند ثبتنام کنند.
مرحله ۵: فعالسازی ورود دومرحلهای
در گاوصندوق تحت وب، ورود دومرحلهای را با یک برنامه احراز هویت یا کلید سختافزاری فعال کنید. کد بازیابی را بهصورت آفلاین ذخیره کنید.
پشتیبانگیری از گاوصندوق
همه دادهها در ./data هستند، عمدتاً پایگاه داده SQLite و پیوستها. طبق زمانبندی یک نسخه سازگار تهیه کنید و آن را بیرون از سرور نگه دارید:
sqlite3 data/db.sqlite3 ".backup '/backup/vaultwarden-$(date +%F).sqlite3'"
tar czf /backup/vw-files-$(date +%F).tgz data/attachments data/rsa_key*
بازیابی را دستکم یک بار آزمایش کنید. پشتیبانی که هرگز آزمایش نشده باشد فقط یک امید است.