OffshoreVps
آموزش‌ها5 اکتبر 20266 دقیقه مطالعهنوشته‌ی تیم OffshoreVps

میزبانی Vaultwarden روی VPS با Docker

سرور رمز عبور سازگار با Bitwarden را خودتان اجرا کنید: فایل Compose، توکن مدیر هش‌شده، HTTPS، بستن ثبت‌نام‌ها و یک پشتیبان آزمایش‌شده.

Vaultwarden یک سرور سبک رمز عبور و سازگار با Bitwarden است. شما از برنامه‌ها و افزونه‌های مرورگر معمولی Bitwarden استفاده می‌کنید، اما گاوصندوق شما روی سروری قرار دارد که خودتان کنترل می‌کنید. حافظه بسیار کمی مصرف می‌کند، پس یک VPS کوچک کاملاً کافی است. چون رمزهای عبور شما را نگه می‌دارد، آن را با دقت راه‌اندازی کنید.

پنجره‌ی ترمینال روی یک VPS که دستورهای میزبانی شخصی Vaultwarden را نشان می‌دهد، با «mkdir -p ~/vaultwarden && cd ~/vaultwarden» شروع می‌شود
نوع دستورهایی که در این راهنما روی سرور خود اجرا می‌کنید.

پیش از شروع

اطلاعات بیشتر در صفحه 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؛ ۳. ساخت توکن مدیر؛ ۴. HTTPS با Caddy؛ ۵. ورود دومرحله‌ای را روشن کنید؛ ۶. از گاوصندوق پشتیبان بگیرید
گام‌های این راهنما به ترتیب.

مرحله ۳: راه‌اندازی

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*

بازیابی را دست‌کم یک بار آزمایش کنید. پشتیبانی که هرگز آزمایش نشده باشد فقط یک امید است.