FerretDB
FerretDB is an open-source MongoDB compatibility proxy for self-hosted stacks.
Platform availability
Available on 1 of 9 platforms
- Unraid
- TrueNAS (not listed)
- Umbrel (not listed)
- ZimaOS (not listed)
- Proxmox (not listed)
- Helm (not listed)
- Mac (not listed)
- Windows (not listed)
- Linux (not listed)
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
55/100 Fair
- Maintained
- 48last commit 248 days ago
- Popular
- 8111,090 GitHub stars
- Easy to install
- 351 install platform, install notes, Docker image
- Light to run
- No data
Based on 3 of 4 factors.
Availability: platform listings confirmed today, links checked 15 days ago
- GitHub stars
- 11,090
- Open issues
- 449
- Last commit
- 2026-02-07
- Latest release
- v2.7.0
- License
- Apache-2.0
- Activity
- stale
Checked 6 days ago - source: GitHub (FerretDB/FerretDB)
Resources & Compatibility
Minimum requirements: 512 MB RAM, 1 CPU core(s). ARM (e.g. Raspberry Pi) is supported.
Checked 15 days ago - source: Docker Hub image tags and published docs
First-install notes
- Try FerretDB with Docker Use the Docker command and replace <username> and <password> with your PostgreSQL (the database it stores data in) credentials. It opens port 27017 for MongoDB-style connections, but this quick setup deletes data when the container stops. source
- Create a first login user Start FerretDB once with --test-enable-new-auth=true, --setup-username, --setup-password, and --setup-database to create the first account. Without that first run, authentication may have no valid user for you to connect with. source
- Install the PostgreSQL backend If you are not using the bundled Docker image, install and start PostgreSQL before running FerretDB. FerretDB depends on PostgreSQL to store data, so a missing or stopped database will prevent it from working. source
Fetched 15 days ago - each note links to its source
Variants
Alternatives (9)
- Apache Cassandra
- CouchDB - Apache CouchDB is a document database that stores JSON data and speaks HTTP, with built-in replication, change tracking, and flexible views…
- Firebase - Firebase, provided by Google, is a backend service and application development platform.
- Microsoft SQL Server - SQL Server delivers on Microsoft’s Data Platform vision by helping your organization manage your data by enabling you to store data from st…
- MongoDB - MongoDB is a cross-platform, open-source document-oriented NoSQL database that stores data in flexible, JSON-like BSON documents instead of…
- MySQL Community Edition - Free GPL database platform supporting SQL and NoSQL applications with InnoDB storage, replication, clustering, connectors, and cross-platfo…
- PostgreSQL - PostgreSQL (Postgres) is an open source object-relational database known for reliability and data integrity.
- Redis - Redis is a fast, in-memory data structure store that can be used as a database, cache, and message broker.
- SQLite - SQLite is a lightweight, embedded relational database engine that stores an entire database in a single file on your device.
Checked 12 days ago - source: AlternativeTo
Common questions
Does the quick FerretDB Docker container keep my data after it stops?
No. The quick setup keeps all data inside the container and loses it when it shuts down, so it is not suitable for production use. The README points to separate installation guides for setups that do not have that problem.
Why does FerretDB not work if PostgreSQL is missing or stopped?
FerretDB depends on PostgreSQL to store data. If you are not using the bundled Docker image, install and start PostgreSQL before running FerretDB.
How do I create the first FerretDB login user?
Start FerretDB once with --test-enable-new-auth=true, --setup-username, --setup-password, and --setup-database to create the first account. Without that first run, authentication may have no valid user for you to connect with.
Which port does FerretDB use for MongoDB-style connections?
FerretDB opens port 27017 for MongoDB-style connections.
Can FerretDB match MongoDB query performance on large collections?
It can be much slower. A reported count on a 3-million-row collection took 28 seconds in FerretDB versus 2 seconds in MongoDB, about 14 times slower.
Answers sourced from github.com, github.com, github.com, github.com, github.com
Community
- FerretDB: A truly Open Source MongoDB alternative - Reddit (reddit)
- FerretDB is an open-source proxy that converts MongoDB 5.0 ... - Reddit (reddit)
- FerretDB Installation with PostgreSQL Backend on Oracle Linux ... - Reddit (reddit)
- Announcing FerretDB 1.0 GA - a truly Open Source MongoDB ... - Reddit (reddit)
- Announcing FerretDB 1.0 GA - a truly Open Source MongoDB ... - Reddit (reddit)
Collected 14 days ago - public community threads