Ana içeriğe geç
%50 indirim tüm planlarda, sınırlı süreyle. Başlangıç fiyatı $2.48/mo
FerretDB

FerretDB

FerretDB, PostgreSQL veya SQLite tarafından desteklenen, MongoDB uyumlu bir veritabanıdır. SSPL lisans sürprizleri olmadan MongoDB Atlas'ın açık kaynaklı alternatifi. Apache 2.0 lisanslı, mevcut MongoDB sürücüleriyle çalışır ve Postgres'nin dayanıklılığından ve araç setinden yararlanır.

Kısaca

11k

GitHub yıldızları

47

Sayfa görüntülemeleri

103

Aktif kurulumlar

Lisans Apache-2.0 Sürüm 2.7.0 OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4,IPV6

Aktif kurulumlar örnek veridir (önizleme); gerçek metrik lansmandan önce bağlanacaktır.

Mimari

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

FerretDB, MongoDB wire protokolü isteklerini dahili olarak PostgreSQL sorgularına çevirir.

PostgreSQL herkese açık değildir.

Portlar

  • 27017/tcp → Herkese açık MongoDB uyumlu uç nokta
  • 5432/tcp → Dahili PostgreSQL (dışarıya açık değil)

Erişim

Kimlik bilgileri referansı: /root/ferretdb/.env

Gerekirse istemciyi kurun:

apt install -y mongodb-mongosh

Kimlik doğrulamasıyla bağlanın:

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

Önemli Dosyalar ve Dizinler

  • Kurulum dizini: /root/ferretdb
  • Compose dosyası: /root/ferretdb/docker-compose.yml
  • Environment dosyası: /root/ferretdb/.env
  • PostgreSQL veri dizini: /root/ferretdb/data

Servis Yönetimi

Durumu kontrol edin:

docker ps

Logları göster:

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

Hizmetleri yeniden başlatın:

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

Yaygın MongoDB Komutları

Veritabanlarını listeleyin:

show dbs

Veritabanını değiştirin:

use postgres

Koleksiyonları listeleyin:

show collections

Belgeleri görüntüleyin:

db.collection_name.find()

Belge ekleyin:

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

Kabuktan çıkın:

exit

Güvenlik için FerretDB'yi Localhost'a Bağlayın

Kimlik doğrulama etkindir, ancak dışarıya açık veritabanı hizmetleri yine de bir risktir.

Düzenle: /root/ferretdb/.env

Değiştir HOST=0.0.0.0 to HOST=127.0.0.1

Ardından değişiklikleri uygulayın:

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

Artık hizmete dışarıdan erişilemez.

SSH port yönlendirmesi kullanarak erişin.

Yerel makinenizden:

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

Ardından yerel olarak bağlanın:

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

Veritabanı Araçları'nda daha fazlası

İlgili uygulamalar.

FerretDB'yi hemen dağıt. 2,48 $/ay'dan başlayan fiyatlarla.