Ugrás a fő tartalomra
50% kedvezmény minden csomagra, korlátozott ideig. Már $2.48/mo
FerretDB

FerretDB

FerretDB egy MongoDB-kompatibilis adatbázis, amely PostgreSQL vagy SQLite alapon működik. Nyílt forráskódú alternatíva a MongoDB Atlas helyett, SSPL-licencelési meglepetések nélkül. Apache 2.0 licenc alatt fut, a meglévő MongoDB driverekkel módosítás nélkül működik, és örökli a Postgres tartósságát és eszközkészletét.

Egy pillantásra

11k

GitHub-csillagok

38

Oldalmegtekintések

103

Aktív telepítések

Licenc Apache-2.0 Verzió 2.7.0 OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4,IPV6

Az aktív telepítések mintaadatok (előnézet); az igazi metrika az indítás előtt lesz bekötve.

Építészet

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

A FerretDB belsőleg a MongoDB wire protokoll kéréseit PostgreSQL lekérdezésekké fordítja.

A PostgreSQL nincs nyilvánosan kitéve.

Kikötők

  • 27017/tcp → Nyilvános MongoDB-kompatibilis végpont
  • 5432/tcp → Belső PostgreSQL (kívülről nem elérhető)

Hozzáférés

Hitelesítő adatok hivatkozása: /root/ferretdb/.env

Telepítsd a klienst, ha szükséges:

apt install -y mongodb-mongosh

Csatlakozás hitelesítéssel:

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

Fontos fájlok és könyvtárak

  • Telepítési könyvtár: /root/ferretdb
  • Compose fájl: /root/ferretdb/docker-compose.yml
  • Környezetfájl: /root/ferretdb/.env
  • PostgreSQL adatkönyvtár: /root/ferretdb/data

Szolgáltatáskezelés

Állapot ellenőrzése:

docker ps

Naplók megtekintése:

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

Szolgáltatások újraindítása:

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

Gyakori MongoDB parancsok

Adatbázisok listázása:

show dbs

Adatbázis váltása:

use postgres

Gyűjtemények listázása:

show collections

Dokumentumok megtekintése:

db.collection_name.find()

Dokumentum beszúrása:

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

Kilépés a shellből:

exit

Kösd a FerretDB-t a localhosthoz a biztonság érdekében

A hitelesítés engedélyezve van, de a kitett adatbázis-szolgáltatások még mindig kockázatot jelentenek.

Szerkesztés: /root/ferretdb/.env

Módosítás HOST=0.0.0.0 to HOST=127.0.0.1

Ezután alkalmazd a változtatásokat:

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

Most a szolgáltatás kívülről nem érhető el.

Hozzáférés SSH portátirányítással.

A helyi gépedről:

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

Ezután csatlakozz helyben:

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

Több az Adatbázis eszközök kategóriában

Kapcsolódó alkalmazások.

Telepítsd a FerretDB-t most. Már 2,48 $/hó-tól.