Přejít na hlavní obsah
Sleva 50% všechny plány, omezený čas. Od $2.48/mo
FerretDB

FerretDB

FerretDB je databáze kompatibilní s MongoDB, postavená na PostgreSQL nebo SQLite. Open-source náhrada za MongoDB Atlas bez překvapení v podobě SSPL licence. Licencováno pod Apache 2.0, funguje s existujícími MongoDB drivery beze změn a přebírá spolehlivost a nástroje Postgres.

Na první pohled

11k

Hvězdičky na GitHubu

38

Zobrazení stránky

103

Aktivní instalace

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

Počet aktivních instalací jsou vzorová data (náhled); skutečná metrika bude zapojena před spuštěním.

Architektura

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

FerretDB interně překládá požadavky protokolu MongoDB wire na dotazy PostgreSQL.

PostgreSQL není veřejně vystaveno.

Přístavy

  • 27017/tcp → Veřejný koncový bod kompatibilní s MongoDB
  • 5432/tcp → Interní PostgreSQL (není vystaveno externě)

Přístup

Odkaz na přihlašovací údaje: /root/ferretdb/.env

V případě potřeby nainstalujte klienta:

apt install -y mongodb-mongosh

Připojte se s ověřením:

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

Důležité soubory a adresáře

  • Instalační adresář: /root/ferretdb
  • Soubor Compose: /root/ferretdb/docker-compose.yml
  • Soubor s prostředím: /root/ferretdb/.env
  • Datový adresář PostgreSQL: /root/ferretdb/data

Správa služeb

Zkontrolovat stav:

docker ps

Zobrazit logy:

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

Restartovat služby:

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

Běžné příkazy MongoDB

Vypsat databáze:

show dbs

Přepnout databázi:

use postgres

Vypsat kolekce:

show collections

Zobrazit dokumenty:

db.collection_name.find()

Vložit dokument:

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

Ukončit shell:

exit

Z důvodu bezpečnosti navažte FerretDB na localhost

Ověřování je zapnuté, ale vystavené databázové služby stále představují riziko.

Upravit: /root/ferretdb/.env

Změnit HOST=0.0.0.0 to HOST=127.0.0.1

Poté aplikujte změny:

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

Nyní není služba přístupná externě.

Přistupujte pomocí přesměrování portu SSH.

Z vašeho lokálního počítače:

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

Poté se připojte lokálně:

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

Více v databázových nástrojích

Související aplikace.

Nasadit FerretDB teď. Od 2,48 $/měs.