OffshoreVps
الشروحات5 أكتوبر 20266 دقيقة للقراءةبقلم فريق OffshoreVps

استضف Vaultwarden بنفسك على VPS باستخدام Docker

شغّل خادم كلمات مرور خاصاً بك متوافقاً مع Bitwarden: ملف Compose، ورمز إدارة مجزّأ، وHTTPS، وإغلاق التسجيل، ونسخة احتياطية مختبَرة.

Vaultwarden هو خادم كلمات مرور خفيف ومتوافق مع Bitwarden. تستخدم تطبيقات Bitwarden وإضافات المتصفح المعتادة، لكن خزنتك تقع على خادم تتحكم به. يستهلك ذاكرة قليلة جدًا، لذا يكفي VPS صغير. ولأنه يحتفظ بكلمات مرورك، أعدّه بعناية.

نافذة طرفية على VPS تعرض الأوامر المستخدمة لاستضافة Vaultwarden بنفسك، تبدأ بـ “mkdir -p ~/vaultwarden && cd ~/vaultwarden”
نوع الأوامر التي ستشغّلها على خادمك في هذا الدليل.

قبل أن تبدأ

تجد مزيدًا من المعلومات في صفحة Vaultwarden المستضاف ذاتيًا.

الخطوة 1: ملف 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

الخطوة 2: إنشاء رمز المسؤول

تتيح لك صفحة المسؤول إدارة المستخدمين. خزّن رمزًا مشفّرًا بالتجزئة وليس نصًا عاديًا. تتضمن صورة Vaultwarden أداة مساعدة:

docker run --rm -it vaultwarden/server /vaultwarden hash
# paste the result into a .env file as ADMIN_TOKEN='$argon2id$...'
خطوات هذا الدليل بالترتيب: 1. قبل أن تبدأ؛ 2. ملف Docker Compose؛ 3. أنشئ رمز الإدارة؛ 4. HTTPS مع Caddy؛ 5. فعّل تسجيل الدخول بخطوتين؛ 6. انسخ الخزنة احتياطياً
خطوات هذا الدليل بالترتيب.

الخطوة 3: التشغيل

docker compose up -d
docker compose logs -f

الخطوة 4: HTTPS مع Caddy

تتطلب عملاء Bitwarden وجود HTTPS.

vault.example.com {
  reverse_proxy 127.0.0.1:8081
}

أعد تحميل Caddy وافتح الموقع. أنشئ حسابك، ثم اضبط SIGNUPS_ALLOWED على false وشغّل docker compose up -d مرة أخرى حتى لا يتمكن الغرباء من التسجيل.

الخطوة 5: تفعيل تسجيل الدخول بخطوتين

في خزنة الويب، فعّل تسجيل الدخول بخطوتين باستخدام تطبيق مصادقة أو مفتاح أمان مادي. احفظ رمز الاسترداد خارج الإنترنت.

النسخ الاحتياطي للخزنة

توجد كل البيانات في ./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*

اختبر الاستعادة مرة واحدة على الأقل. النسخة الاحتياطية التي لم تختبرها مجرد أمل.