Ga naar hoofdinhoud
50% korting alle plannen, beperkte tijd. Vanaf $2.48/mo
FerretDB

FerretDB

FerretDB is een MongoDB-compatibele database ondersteund door PostgreSQL of SQLite. Open-source alternatief voor MongoDB Atlas, zonder verrassingen met SSPL-licenties. Gelicenseerd onder Apache 2.0, werkt met bestaande MongoDB-drivers en profiteert van de betrouwbaarheid en tooling van Postgres.

In een oogopslag

11k

GitHub-sterren

38

Paginaweergaven

103

Actieve installaties

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

Actieve installaties zijn voorbeeldgegevens (voorvertoning); de echte maatstaf wordt voor de lancering gekoppeld.

Architectuur

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

FerretDB vertaalt MongoDB wire protocol-verzoeken intern naar PostgreSQL-queries.

PostgreSQL is niet openbaar toegankelijk.

Poorten

  • 27017/tcp → Openbaar MongoDB-compatibel endpoint
  • 5432/tcp → Interne PostgreSQL (niet extern toegankelijk)

Toegang

Inloggegevens-referentie: /root/ferretdb/.env

Installeer de client indien nodig:

apt install -y mongodb-mongosh

Verbind met authenticatie:

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

Belangrijke bestanden en mappen

  • Installatiemap: /root/ferretdb
  • Compose-bestand /root/ferretdb/docker-compose.yml
  • Environment-bestand: /root/ferretdb/.env
  • PostgreSQL-datamap: /root/ferretdb/data

Servicebeheer

Status controleren:

docker ps

Logs bekijken:

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

Services opnieuw starten:

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

Veelgebruikte MongoDB-commando's

Databases weergeven:

show dbs

Van database wisselen:

use postgres

Collecties weergeven:

show collections

Documenten bekijken:

db.collection_name.find()

Document invoegen:

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

Shell afsluiten:

exit

Bind FerretDB aan localhost voor beveiliging

Authenticatie is ingeschakeld, maar blootgestelde databaseservices vormen nog steeds een risico.

Bewerk: /root/ferretdb/.env

Wijzigen HOST=0.0.0.0 to HOST=127.0.0.1

Pas vervolgens de wijzigingen toe:

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

Nu is de service niet extern toegankelijk.

Krijg toegang via SSH-portforwarding.

Voer dit uit op je lokale machine:

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

Verbind vervolgens lokaal:

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

Meer in Databasetools

Gerelateerde apps.

Installeer FerretDB nu. Vanaf $2,48/mnd.