Главная/Разработка/MongoDB

Установка MongoDB на свой сервер или в облаке

Установка MongoDB на свой сервер делается пакетом mongodb-org из репозитория проекта или образом Docker, а база слушает порт 27017. Главная ловушка в том, что сервер по умолчанию стартует без проверки пароля, и забыть про это опаснее, чем неправильно выбрать размер. Если администрировать некому, у провайдера есть управляемая MongoDB.

5 мин чтенияДанные проверены 16 октября 2026

Ответ за 30 секунд

Для приложения на Node.js или Python хватит 2 ГБ памяти. Включите пароль сразу, пока база пуста, и не публикуйте порт 27017 в интернет. Управляемая MongoDB стоит от 790 ₽ в месяц на 14 октября 2026, копия раз в день добавляет 120 ₽.

Провайдер следит за обновлениями и доступностью, вы получаете строку подключения.

Сколько памяти нужно MongoDB и как её считает WiredTiger

01 · 1 мин

Где запускать MongoDB: свой VPS или управляемая база#

MongoDB хранит документы, похожие на JSON, и удобна, когда схема данных часто меняется. Запускать её можно двумя способами.

МаршрутЧто делаете выЦена на 14 октября 2026
Свой VPS, пакет или DockerВключаете пароль, настраиваете память, обновляете, делаете копииСервер от 1 920 ₽ в месяц
Управляемая MongoDB в Таймвеб КлаудСоздаёте базу и пользователейОт 790 ₽ в месяц; копия раз в месяц 0 ₽, раз в день 120 ₽ в месяц

Серверная часть MongoDB Community выпускается под лицензией SSPL. Для своего приложения она ничего не запрещает; условия касаются тех, кто предлагает MongoDB другим людям как облачный сервис. Если вам нужна база с SQL и строгой схемой, сравните с PostgreSQL.

02 · 1 мин

Установка MongoDB на Ubuntu пакетом mongodb-org#

В репозитории Ubuntu свежей MongoDB нет, поэтому её ставят из репозитория самого проекта. Ветки 8.0 и 9.0 поддерживаются по плану разработчиков до октября 2029 и октября 2031 года соответственно (данные endoflife.date на 15 октября 2026).

  1. Подключите репозиторий по инструкции на сайте MongoDB для вашей версии Ubuntu и ветки: там ключ подписи и строка источника пакетов.
  2. Поставьте пакет и включите службу mongod.
  3. Проверьте работу оболочкой mongosh: она подключается к 127.0.0.1:27017.
  4. Включите проверку пароля до того, как база получит данные.
sudo apt install -y mongodb-org
sudo systemctl enable --now mongod
mongosh --eval 'db.runCommand({ ping: 1 })'

Настройки находятся в /etc/mongod.conf, данные в /var/lib/mongodb. Во время установки ничего не открывается наружу: параметр bindIp по умолчанию равен 127.0.0.1.

03 · 1 мин

Как включить пароль в MongoDB и закрыть порт 27017#

Сервер MongoDB сам по себе принимает подключения без логина. Пока он слушает только локальный адрес, это терпимо, но стоит открыть порт, и базу найдёт автоматический сканер. Поэтому сначала создают администратора, потом включают проверку.

mongosh
use admin
db.createUser({ user: "admin", pwd: passwordPrompt(), roles: [{ role: "root", db: "admin" }] })

После этого в /etc/mongod.conf добавляют раздел security: со строкой authorization: enabled и перезапускают службу. Для приложения заведите отдельного пользователя с ролью readWrite на его базу, а не используйте администратора.

Доступ с другого сервера открывают через bindIp с внутренним адресом и правило файрвола для одного адреса: ufw allow from 203.0.113.10 to any port 27017 proto tcp. Для контейнера порт публикуют как 127.0.0.1:27017:27017, иначе Docker обойдёт ufw.

04 · 1 мин

MongoDB в Docker: compose-файл и пароль администратора#

Образ mongo создаёт администратора при первом запуске из переменных MONGO_INITDB_ROOT_USERNAME и MONGO_INITDB_ROOT_PASSWORD и сам включает проверку пароля. Данные лежат в /data/db, настройки в /data/configdb.

services:
  mongo:
    image: mongo:8.0
    restart: unless-stopped
    env_file: .env
    ports:
      - "127.0.0.1:27017:27017"
    volumes:
      - mongodata:/data/db
      - mongoconf:/data/configdb
    healthcheck:
      test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping')"]
      interval: 10s
volumes:
  mongodata:
  mongoconf:

В .env задайте две переменные с логином и паролем. Если приложению нужны транзакции или потоки изменений (так работают, например, Prisma и Rocket.Chat), добавьте команду запуска --replSet rs0 и один раз выполните rs.initiate(): replica set из одного узла тоже считается.

Инструмент · 1 мин

Сколько памяти нужно MongoDB и как её считает WiredTiger#

Хранилище WiredTiger по умолчанию отдаёт кэшу большее из двух значений: половину памяти за вычетом 1 ГБ или 256 МБ. На сервере с 2 ГБ это около 512 МБ, на 8 ГБ около 3,5 ГБ. Остальное остаётся файловому кэшу системы, соединениям и приложению на том же сервере.

  • Файловая система: для данных рекомендуют XFS, она ведёт себя на больших файлах предсказуемее.
  • Прозрачные огромные страницы: их отключают, документация MongoDB связывает их с задержками.
  • Индексы: рабочие индексы должны помещаться в память, иначе запросы пойдут на диск.

Какой сервер взять под MongoDB

Три ответа про данные, калькулятор подберёт конфигурацию

Сколько данных в коллекциях
Какие запросы идут к базе
Как запущена MongoDB

06 · 1 мин

Резервные копии MongoDB: mongodump и копии управляемой базы#

Небольшую базу копируют командой mongodump --uri="mongodb://app:ПАРОЛЬ@127.0.0.1:27017/appdb" --archive=appdb.gz --gzip, а возвращают через mongorestore --archive=appdb.gz --gzip. Для больших баз берут снимок диска сервера: так копия согласована по времени.

Управляемая MongoDB делает копии по расписанию, которое выбирает владелец: раз в месяц бесплатно, раз в день за 120 ₽ в месяц. Где хранить свои архивы и как проверять восстановление: сервер для бэкапов.

07 · 1 мин

Вопросы об установке MongoDB#

Как запустить MongoDB в Docker с паролем?

Передайте образу mongo переменные MONGO_INITDB_ROOT_USERNAME и MONGO_INITDB_ROOT_PASSWORD при первом запуске и подключите том к /data/db. Порт публикуйте только на 127.0.0.1.

Как установить MongoDB на Windows для разработки?

Скачайте MSI-установщик MongoDB Community с сайта проекта, отметьте установку службы и при желании программу MongoDB Compass. Для рабочего сервера берите Linux.

Нужен ли MongoDB отдельный диск или файловая система XFS?

Для небольшой базы хватит диска сервера. XFS рекомендуют для рабочих систем, а данные удобнее держать на отдельном томе: его можно расширять и копировать снимком.

Чем MongoDB на VPS отличается от управляемой?

На VPS вы отвечаете за обновления, пароль, копии и мониторинг. Управляемая база берёт это на себя и стоит от 790 ₽ в месяц на 14 октября 2026.

Почему этому можно верить

Как мы проверяли

Цены с сайта провайдераСняты вручную, у каждой цены указана дата проверки.
Всё можно повторитьКоманды и расчёты описаны так, что их повторит любой читатель.
Независимый справочникНе связан с разработчиками приложений и провайдерами и пишет о минусах тоже.

Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Облачные базы данных Таймвеб Клауд, timeweb.cloud/services/dbaas, проверено 14 октября 2026; endoflife.date: сроки поддержки PostgreSQL, MySQL, MariaDB, MongoDB, Redis, Valkey, ClickHouse, Kafka, RabbitMQ, Magento, Joomla, PHP, endoflife.date, проверено 15 октября 2026.

SBРедакция SelfBase · обновлено 16 октября 2026

Отдайте базу данных провайдеру

Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.

  • PostgreSQL, MySQL, MongoDB от 790 ₽
  • Valkey (совместим с Redis) от 670 ₽
  • Kafka, RabbitMQ, ClickHouse, OpenSearch
  • Автобэкапы 6 ₽ в месяц за ГБ
Память