Перейти до основного вмісту
Знижка 50% усі плани, обмежений час. Від $2.48/mo
FerretDB

FerretDB

FerretDB — база даних, сумісна з MongoDB, на основі PostgreSQL або SQLite. Відкрита альтернатива MongoDB Atlas без сюрпризів з ліцензією SSPL. Ліцензована за Apache 2.0, повністю підтримує драйвери MongoDB і успадковує надійність та інструментарій Postgres.

З першого погляду

11k

Зірки на GitHub

38

Перегляди сторінки

103

Активні інсталяції

Ліцензія Apache-2.0 Версія 2.7.0 OS Ubuntu Server 24.04 LTS Min RAM 1 GB IP IPV4,IPV6

Активні інсталяції є зразковими даними (попередній перегляд); реальна метрика буде підключена до запуску.

Архітектура

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

FerretDB внутрішньо перекладає запити протоколу MongoDB у запити PostgreSQL.

PostgreSQL не має публічного доступу.

Порти

  • 27017/tcp → Публічна кінцева точка, сумісна з MongoDB
  • 5432/tcp → Внутрішній PostgreSQL (без зовнішнього доступу)

Доступ

Довідка щодо облікових даних: /root/ferretdb/.env

Встановіть клієнт за потреби:

apt install -y mongodb-mongosh

Підключіться з автентифікацією:

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

Важливі файли та директорії

  • Директорія встановлення: /root/ferretdb
  • Файл складання: /root/ferretdb/docker-compose.yml
  • Файл середовища: /root/ferretdb/.env
  • Каталог даних PostgreSQL: /root/ferretdb/data

Керування сервісом

Перевірити стан:

docker ps

Переглянути логи:

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

Перезапустити служби:

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

Поширені команди MongoDB

Список баз даних:

show dbs

Перемкнути базу даних:

use postgres

Список колекцій:

show collections

Переглянути документи:

db.collection_name.find()

Вставити документ:

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

Вийти з оболонки:

exit

Прив'яжіть FerretDB до Localhost для безпеки

Автентифікацію ввімкнено, але відкриті служби бази даних усе ще становлять ризик.

Редагувати: /root/ferretdb/.env

Змінити HOST=0.0.0.0 to HOST=127.0.0.1

Потім застосуйте зміни:

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

Тепер служба недоступна ззовні.

Отримайте доступ за допомогою переспрямування портів SSH.

З вашої локальної машини:

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

Потім підключіться локально:

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

Більше в розділі інструментів баз даних

Схожі додатки.

Розгорніть FerretDB зараз. Від $2,48/міс.