تخطَّ إلى المحتوى الرئيسي
خصم ٥٠٪ جميع الخطط، لفترة محدودة. تبدأ من $2.48/mo
FerretDB

FerretDB

FerretDB قاعدة بيانات متوافقة مع MongoDB، مدعومة بـ PostgreSQL أو SQLite. بديل مفتوح المصدر لـ MongoDB Atlas، بدون قيود ترخيص SSPL. مرخّص بموجب Apache 2.0، يعمل مع مشغّلات MongoDB دون تعديل، ويرث متانة Postgres وأدواتها.

نظرة سريعة

11k

نجوم GitHub

37

مشاهدات الصفحة

103

عمليات التثبيت النشطة

الرخصة Apache-2.0 الإصدار 2.7.0 OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4,IPV6

بيانات التثبيت النشطة تجريبية (معاينة مرحلة التدريج)؛ سيتم توصيل المقياس الحقيقي قبل الإطلاق.

البنية المعمارية

Client
 ↓
 Port 27017 (MongoDB protocol)
 ↓
 FerretDB container
 ↓
 PostgreSQL container (internal Docker network)
 ↓
 Persistent storage directory

يترجم FerretDB طلبات بروتوكول MongoDB الشبكي إلى استعلامات PostgreSQL داخلياً.

PostgreSQL غير مكشوف للعامة.

المنافذ

  • 27017/tcp → نقطة نهاية عامة متوافقة مع MongoDB
  • 5432/tcp → PostgreSQL داخلي (غير مكشوف خارجياً)

الوصول

مرجع بيانات الاعتماد: /root/ferretdb/.env

ثبّت العميل عند الحاجة:

apt install -y mongodb-mongosh

اتصل مع المصادقة:

mongosh "mongodb://<USERNAME>:<PASSWORD>@<SERVER_IP>:27017/<DATABASE>?authSource=postgres"

الملفات والمجلدات المهمة

  • مجلد التثبيت: /root/ferretdb
  • ملف Compose: /root/ferretdb/docker-compose.yml
  • ملف البيئة: /root/ferretdb/.env
  • دليل بيانات PostgreSQL: /root/ferretdb/data

إدارة الخدمة

التحقق من الحالة:

docker ps

عرض السجلات:

docker compose -f /root/ferretdb/docker-compose.yml logs -f

إعادة تشغيل الخدمات:

docker compose -f /root/ferretdb/docker-compose.yml restart

أوامر MongoDB الشائعة

اعرض قائمة قواعد البيانات:

show dbs

بدّل قاعدة البيانات:

use postgres

اعرض قائمة المجموعات:

show collections

اعرض المستندات:

db.collection_name.find()

أدرج مستنداً:

db.collection_name.insertOne({ name: "example" })

اخرج من الصدفة:

exit

اربط FerretDB بـ Localhost للأمان

المصادقة مفعّلة، لكن خدمات قاعدة البيانات المكشوفة تبقى خطراً.

عدّل الملف: /root/ferretdb/.env

غيِّر HOST=0.0.0.0 to HOST=127.0.0.1

ثم طبّق التغييرات:

docker compose -f /root/ferretdb/docker-compose.yml up -d

الآن الخدمة غير قابلة للوصول خارجياً.

الوصول باستخدام إعادة توجيه منفذ SSH.

من جهازك المحلي:

ssh -L 27017:localhost:27017 root@<SERVER_IP>

ثم اتصل محلياً:

mongosh "mongodb://<USERNAME>:<PASSWORD>@localhost:27017/<DATABASE>?authSource=postgres

المزيد في أدوات قواعد البيانات

تطبيقات ذات صلة.

انشر FerretDB الآن. تبدأ من 2.48 $/شهر.