Lewati ke konten utama
diskon 50% semua paket, waktu terbatas. Mulai dari $2.48/mo
FerretDB

FerretDB

FerretDB adalah database yang kompatibel dengan MongoDB, didukung oleh PostgreSQL atau SQLite. Pengganti open-source untuk MongoDB Atlas tanpa kejutan lisensi SSPL. Berlisensi Apache 2.0, menjalankan driver MongoDB tanpa perubahan, dan mewarisi durabilitas serta tooling Postgres.

Sekilas

11k

Bintang GitHub

42

Tampilan halaman

103

Instalasi aktif

Lisensi Apache-2.0 Versi 2.7.0 OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4,IPV6

Instalasi aktif adalah data sampel (pratinjau); metrik nyata akan terhubung sebelum peluncuran.

Arsitektur

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

FerretDB menerjemahkan permintaan wire protocol MongoDB menjadi query PostgreSQL secara internal.

PostgreSQL tidak diekspos secara publik.

Pelabuhan

  • 27017/tcp → Endpoint publik yang kompatibel dengan MongoDB
  • 5432/tcp → PostgreSQL internal (tidak diekspos ke luar)

Akses

Referensi kredensial: /root/ferretdb/.env

Pasang client jika diperlukan:

apt install -y mongodb-mongosh

Hubungkan dengan autentikasi:

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

File dan Direktori Penting

  • Direktori install: /root/ferretdb
  • File komposisi: /root/ferretdb/docker-compose.yml
  • File environment: /root/ferretdb/.env
  • Direktori data PostgreSQL: /root/ferretdb/data

Manajemen Layanan

Periksa status:

docker ps

Lihat log:

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

Mulai ulang layanan:

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

Perintah MongoDB Umum

Daftar database:

show dbs

Beralih database:

use postgres

Daftar collection:

show collections

Lihat dokumen:

db.collection_name.find()

Sisipkan dokumen:

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

Keluar dari shell:

exit

Ikat FerretDB ke Localhost untuk Keamanan

Autentikasi diaktifkan, tetapi layanan database yang terekspos tetap berisiko.

Sunting: /root/ferretdb/.env

Ubah HOST=0.0.0.0 to HOST=127.0.0.1

Lalu terapkan perubahan:

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

Sekarang layanan tidak dapat diakses dari luar.

Akses menggunakan SSH port forwarding.

Dari mesin lokal Anda:

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

Lalu hubungkan secara lokal:

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

Lebih banyak di Database Tools

Aplikasi terkait.

Deploy FerretDB sekarang. Mulai $2,48/bln.