تثبيت Coolify: نشر التطبيقات مع PaaS المستضاف ذاتياً
تثبيت Coolify، تكامل Docker وGit، نشر التطبيقات، إدارة قواعد البيانات، شهادات SSL، متغيرات البيئة وبديل PaaS المستضاف ذاتياً لـ Heroku/Netlify.
تثبيت Vaultwarden (متوافق مع Bitwarden) عبر Docker، تكوين HTTPS، لوحة الإدارة، إدارة المنظمات والمجموعات، الاستخدام مع عملاء Bitwarden.
Vaultwarden هو بديل خفيف الوزن ومدعوم من المجتمع للخادم الرسمي لـ Bitwarden، مكتوب بلغة Rust. مقارنةً بالخادم الرسمي لـ Bitwarden، يستهلك موارد أقل بكثير وهو متوافق تماماً مع جميع عملاء Bitwarden (الويب، سطح المكتب، الجوال، إضافة المتصفح). من خلال استضافته على خادمك الخاص، تحتفظ بالتحكم الكامل في كلمات مرورك.
Vaultwarden (المعروف سابقاً بـ bitwarden_rs) هو مشروع مفتوح المصدر يعيد تطبيق واجهة برمجة تطبيقات Bitwarden بلغة Rust. الميزات الرئيسية:
version: '3.8'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
environment:
DOMAIN: "https://vault.example.com"
SIGNUPS_ALLOWED: "true"
ADMIN_TOKEN: "رمز-مشرف-قوي-هنا"
WEBSOCKET_ENABLED: "true"
LOG_LEVEL: "warn"
volumes:
- ./vw-data:/data
ports:
- "127.0.0.1:8080:80"
- "127.0.0.1:3012:3012"
# تشغيل الحاوية
docker compose up -d
# فحص السجلات
docker logs vaultwarden -f
استخدم قيمة قوية وعشوائية لـ ADMIN_TOKEN. يمكنك إنشاء رمز آمن باستخدام openssl rand -base64 48.
# إنشاء رمز مشرف آمن
openssl rand -base64 48
# رمز أكثر أماناً مع تجزئة Argon2 (موصى به)
docker run --rm -it vaultwarden/server /vaultwarden hash --preset owasp
نظراً لأن Vaultwarden يتطلب HTTPS، فإن إعداد وكيل عكسي Nginx إلزامي.
server {
listen 80;
server_name vault.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name vault.example.com;
ssl_certificate /etc/letsencrypt/live/vault.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/vault.example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
client_max_body_size 128M;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /notifications/hub {
proxy_pass http://127.0.0.1:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_pass http://127.0.0.1:8080;
}
}
# تثبيت Certbot
apt install certbot python3-certbot-nginx -y
# الحصول على شهادة SSL
certbot --nginx -d vault.example.com
# اختبار التجديد التلقائي
certbot renew --dry-run
الوصول إلى لوحة الإدارة على https://vault.example.com/admin.
# تعطيل التسجيل بعد الإعداد
SIGNUPS_ALLOWED=false
# السماح بالتسجيل فقط لنطاقات محددة
SIGNUPS_DOMAINS_WHITELIST=example.com,company.org
# نظام الدعوات
INVITATIONS_ALLOWED=true
# التحقق من البريد الإلكتروني
SIGNUPS_VERIFY=true
environment:
SMTP_HOST: "smtp.gmail.com"
SMTP_FROM: "vault@example.com"
SMTP_PORT: "587"
SMTP_SECURITY: "starttls"
SMTP_USERNAME: "vault@example.com"
SMTP_PASSWORD: "كلمة-مرور-التطبيق"
من لوحة الإدارة، انتقل إلى Users → Invite User لإرسال دعوات بالبريد الإلكتروني.
# دعوة مستخدم عبر CLI
docker exec vaultwarden /vaultwarden invite --email user@example.com
المنظمات مجانية في Vaultwarden (مدفوعة في Bitwarden الرسمي):
https://vault.example.com1. افتح تطبيق Bitwarden
2. انقر على محدد المنطقة في شاشة تسجيل الدخول
3. اختر "Self-hosted"
4. URL الخادم: https://vault.example.com
5. احفظ وسجّل الدخول
# نسخ احتياطي لبيانات Vaultwarden
tar -czf vaultwarden-backup-$(date +%Y%m%d).tar.gz ./vw-data/
# سكريبت النسخ الاحتياطي التلقائي
cat > /etc/cron.daily/vaultwarden-backup << 'EOF'
#!/bin/bash
BACKUP_DIR="/backups/vaultwarden"
mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/backup-$(date +%Y%m%d-%H%M%S).tar.gz /opt/vaultwarden/vw-data/
find $BACKUP_DIR -name "backup-*.tar.gz" -mtime +30 -delete
EOF
chmod +x /etc/cron.daily/vaultwarden-backup
يعمل Vaultwarden بشكل ممتاز على خوادم REXE VPS. 1 غيغابايت من الذاكرة العشوائية و1 vCPU كافيان للفرق الصغيرة.
Vaultwarden هو مشروع مجتمعي يعيد تطبيق واجهة برمجة تطبيقات Bitwarden بلغة Rust. يستهلك موارد أقل بكثير من الخادم الرسمي لـ Bitwarden (512 ميغابايت من الذاكرة كافية). المنظمات والميزات المميزة مجانية في Vaultwarden، بينما هي مدفوعة في الخادم الرسمي. متوافق تماماً مع جميع عملاء Bitwarden.
لا، يتطلب عملاء Bitwarden HTTPS لأسباب أمنية. بدون شهادة SSL صالحة، سيرفض العملاء الاتصال. يمكنك الحصول على شهادة SSL مجانية مع Let's Encrypt. تعمل الشهادات الموقّعة ذاتياً أيضاً للشبكات المحلية، لكنها تتطلب إضافة ثقة يدوي في العملاء.
تحقق من أن قيمة ADMIN_TOKEN محددة بشكل صحيح في docker-compose.yml. إذا استخدمت تجزئة Argon2، قد تحتاج رموز '$' إلى الإفلات في YAML. ضع الرمز بين علامات اقتباس مفردة: ADMIN_TOKEN: '$$argon2id$$...'. أعد تشغيل الحاوية: docker compose restart vaultwarden.
تأكد من أن مسار /notifications/hub في تكوين Nginx يُوكَّل إلى المنفذ 3012. تحقق من تعيين متغير البيئة WEBSOCKET_ENABLED=true. تحقق من وجود 'proxy_set_header Upgrade $http_upgrade' و'proxy_set_header Connection upgrade' في Nginx.
جميع البيانات مخزنة في الدليل ./vw-data/. انسخ هذا الدليل احتياطياً بانتظام: tar -czf backup.tar.gz ./vw-data/. الملفات الحيوية: db.sqlite3 (قاعدة البيانات)، rsa_key* (مفاتيح التشفير)، attachments/ (المرفقات). فقدان المفاتيح يجعل جميع كلمات المرور غير قابلة للوصول.
أنشئ منظمة وأضف مجموعات. عدّل كلمة المرور التي تريد مشاركتها واختر المجموعة المناسبة في قسم 'المجموعات'. ادعُ الأعضاء إلى المنظمة ومنح أذونات الوصول إلى المجموعة. يمكن للأعضاء رؤية كلمات المرور المشتركة في عملاء Bitwarden الخاصة بهم.
تثبيت Coolify، تكامل Docker وGit، نشر التطبيقات، إدارة قواعد البيانات، شهادات SSL، متغيرات البيئة وبديل PaaS المستضاف ذاتياً لـ Heroku/Netlify.
تثبيت Nextcloud مع Docker، تهيئة Apache/Nginx، إعداد قاعدة البيانات، شهادة SSL، مزامنة الملفات، متجر التطبيقات وتحسين الأداء.
تثبيت Portainer CE، إدارة Docker وKubernetes، نشر الـ stacks، إدارة الأحجام/الشبكات، تفويض المستخدمين، Webhooks وتكامل GitOps.