نبذة عن Vaultwarden
Vaultwarden هو إعادة تنفيذ بلغة Rust لواجهة خادم Bitwarden البرمجية. يعمل مع تطبيقات Bitwarden الرسمية وإضافاتها (المتصفح والجوال وسطح المكتب وسطر الأوامر) ويستهلك موارد قليلة جداً، ولذلك يناسب خادماً افتراضياً صغيراً. يستخدمه المطورون والعائلات والفرق الصغيرة الذين يريدون إبقاء بيانات الدخول على خادم يتحكمون به.
عند التسليم يكون سكربت التثبيت قد نصّب Docker، ثم شغّل حاويتين عبر Docker Compose داخل /opt/vaultwarden. يستمع Vaultwarden محلياً فقط على 127.0.0.1:8080، بينما ينشر Caddy الواجهة على المنفذ 443 عبر HTTPS. تُحفظ البيانات في وحدة تخزين Docker باسم vw_data.
الشهادة موقّعة ذاتياً (التوجيه tls internal في Caddy) ومرتبطة بعنوان IP العام للخادم، لذلك سيعرض المتصفح تحذيراً إلى أن تربط الخادم باسم نطاق. التسجيل مفتوح في البداية (SIGNUPS_ALLOWED=true)، فأنشئ حسابك ثم أغلقه.
ما يمكنك فعله مع Vaultwarden
متوافق مع عملاء Bitwarden
تتصل تطبيقات Bitwarden وإضافاته بخادمك بمجرد إدخال عنوانه. تحتفظ بالأدوات المعتادة دون الاعتماد على خدمة طرف ثالث.
استهلاك منخفض للموارد
لأن Vaultwarden مكتوب بلغة Rust، فهو يعمل بارتياح على خادم افتراضي متواضع. ويترك مساحة لخدمات أخرى على الجهاز نفسه.
HTTPS عبر Caddy
يعمل Caddy على شبكة المضيف ويقدّم الواجهة على المنفذ 443 بشهادة موقّعة ذاتياً. حاوية Vaultwarden نفسها غير معرّضة مباشرة للإنترنت.
نشر عبر Docker Compose
كل الإعدادات في الملفين
/opt/vaultwarden/docker-compose.ymlوCaddyfile. يكفي تعديلهما ثم تنفيذdocker compose up -dلتطبيق التغيير.بيانات في وحدة تخزين مستقلة
تُحفظ قاعدة البيانات والمرفقات في وحدة التخزين
vw_dataالمنفصلة عن الحاوية. يمكنك تحديث الصورة دون المساس بخزائنك.تحكم في التسجيل
يتيح المتغير
SIGNUPS_ALLOWEDإغلاق إنشاء الحسابات بعد تسجيل مستخدميك، فلا يستطيع أي غريب فتح حساب على خادمك.
ابدأ مع Vaultwarden
من الطلب إلى التشغيل الفعلي في دقائق.
- 1
اطلب الخادم مع Vaultwarden
اختر خادم VPS بنظام لينكس (باريس أو فرانكفورت) بنظام Debian 12 أو Debian 13 أو Ubuntu 20.04 أو 22.04 أو 24.04. فعّل خيار Vaultwarden في تبويب التطبيقات (Applications) في نموذج الطلب.
- 2
تحقق من التثبيت بعد التسليم
انتظر بضع دقائق بعد التسليم، فالسكربت يثبّت Docker ثم يشغّل الحاويات. اتصل عبر SSH وتأكد أن الحاويتين
vaultwardenوcaddyتعملان.Bashssh root@SERVER_IP cd /opt/vaultwarden docker compose ps - 3
أنشئ حسابك الرئيسي
افتح https://SERVER_IP في المتصفح واقبل تحذير الشهادة الموقّعة ذاتياً. أنشئ حسابك، ثم أغلق التسجيل حتى لا يتمكن أحد غيرك من فتح حساب.
Bashsed -i 's/SIGNUPS_ALLOWED=true/SIGNUPS_ALLOWED=false/' /opt/vaultwarden/docker-compose.yml cd /opt/vaultwarden && docker compose up -d - 4
انتقل إلى نطاق مع HTTPS صالح
وجّه سجل A للنطاق YOUR_DOMAIN إلى SERVER_IP. في Caddyfile استبدل الكتلة باسم YOUR_DOMAIN بدون
tls internal، واضبطDOMAIN=https://YOUR_DOMAINفي docker-compose.yml، وافتح المنفذين 80 و443، ثم أعد التشغيل.Bashcd /opt/vaultwarden nano Caddyfile nano docker-compose.yml ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp docker compose up -d --force-recreate
استخدامات Vaultwarden
خزينة شخصية أو عائلية
تستضيف كلمات المرور والملاحظات الآمنة ورموز الاسترداد الخاصة بأسرتك على خادم تملكه، وتصل إليها من جميع أجهزتك.
إدارة وصول فريق صغير
تشارك بيانات الدخول (الوصول إلى الخوادم وحسابات SaaS ومفاتيح API) بين عدد قليل من الزملاء عبر المؤسسات والمجموعات في Bitwarden.
بديل عن اشتراك سحابي
تترك مدير كلمات مرور مستضافاً لدى طرف ثالث وتحتفظ بعميل Bitwarden نفسه، مع بقاء بياناتك على خادم VPS في أوروبا.
جزء من خادم أدوات داخلية
تضع الخزينة بجانب خدمات أخرى مستضافة ذاتياً على الخادم نفسه، بفضل بصمتها الصغيرة في الذاكرة.
أسئلة شائعة عن Vaultwarden
الشهادة يولّدها Caddy (tls internal) لعنوان IP الخاص بالخادم، فلا تحمل توقيع أي جهة عامة. يمكنك قبولها لإنشاء حسابك. وللاستخدام الدائم اربط الخادم باسم نطاق ودع Caddy يحصل على شهادة صالحة.
المزيد عن Vaultwarden
الملفات والخدمات التي تحتاج معرفتها
كل شيء موجود في /opt/vaultwarden: السكربت install-vaultwarden.sh وملف docker-compose.yml وملف Caddyfile. وحدات تخزين Docker الثلاث هي vw_data (بياناتك) وcaddy_data (الشهادات) وcaddy_config. تُعاد الحاويتان إلى العمل تلقائياً (restart: always).
استخدام اسم نطاق
الشهادة المرفقة عند التسليم موقّعة ذاتياً ومرتبطة بعنوان IP. قد ترفض تطبيقات الجوال وبعض الإضافات هذا النوع من الشهادات، لذلك يُنصح باستخدام نطاق بشهادة صالحة في الاستعمال اليومي. مع اسم نطاق (راجع أسماء النطاقات لدينا) يبدو Caddyfile الأدنى هكذا:
YOUR_DOMAIN {
reverse_proxy 127.0.0.1:8080
}
عندها يستطيع Caddy الحصول على شهادة عامة، بشرط أن يشير DNS إلى الخادم وأن يكون المنفذان 80 و443 متاحين. بعد التعديل أعد التشغيل بالأمر docker compose restart caddy. ولا تنس مواءمة متغير DOMAIN الخاص بـ Vaultwarden.
النسخ الاحتياطي
انسخ احتياطياً وحدة التخزين vw_data، فهي تحتوي على قاعدة SQLite والمفاتيح والمرفقات. يعتمد الاسم الدقيق للوحدة على اسم مجلد المشروع، فتحقق منه بالأمر docker volume ls (يُفترض أن يكون vaultwarden_vw_data).
docker run --rm -v vaultwarden_vw_data:/data -v /root:/backup alpine tar czf /backup/vw-backup.tgz -C /data .
انسخ الأرشيف بعد ذلك إلى خارج الخادم. النسخة التي تبقى على الـ VPS نفسه لا تحميك إذا فقدت الجهاز. ويمكن لدروس قسم /learn أن تساعدك في أتمتة هذه الخطوة.
التحديثات
الصورة المستخدمة هي vaultwarden/server:latest. للانتقال إلى أحدث إصدار، خذ نسخة احتياطية أولاً ثم نفّذ:
cd /opt/vaultwarden
docker compose pull
docker compose up -d
