Skip to main content

MongoDB

Разворачивание СУБД

Для развертывания СУБД MongoDB вам потребуется выполнить следующие шаги:

1. Создать проект с подходящим тарифом.

2. Склонировать на свой компьютер подключенный к проекту репозиторий.

Это делается командой:

git clone https://git.amvera.ru/<имя-пользователя>/<транслитерированное-имя-проекта>

Более подробную информацио о работе с репозиторием можно найти в разделе документации Git.

3. Создать конфигурационный yaml файл.

В корневой папке репозитория необходимо создать конфигурационный файл amvera.yml

Конфигурационный файл состоит из секции meta:

meta:
environment: db
toolchain:
  name: mongodb
  version: 6.0

При развертывании используется образ Docker mongo:${meta.toolchain.version}. Параметр meta.toolchain.version необязательный. Если его не указать, будет использоваться последний образ mongo:latest.

Так как значение параметра meta.toolchain.version является тегом образа mongo, можно в качестве его значения использовать произвольный тег из докер хаба.

4. Указать необходимые параметры окружения.

В разделе "Переменные" у проекта необходимо задать имя пользователя и пароль:

  • Для добавления имени пользователя необходимо нажать на кнопку "Создать переменную". В поле "Название" указать MONGO_INITDB_ROOT_USERNAME, а в поле значение вписать желаемое имя пользователя.
  • Для добавления пароля и безопасного его хранения требуется нажать на кнопку "Создать секрет". В поле "Название" указать MONGO_INITDB_ROOT_PASSWORD, а в поле значение вписать желаемый пароль.

ВАЖНО: Придумать достаточно сложный пароль для базы данных, чтобы злоумышленники не смогли получить к ней доступ.

При необходимости, можно задать и другие поддерживаемые образом парметры. Более подробно об этих параметрах можно узнать на странице образа.

4. Отправить изменения в удаленный репозиторий.

  • git add .
  • git commit -m "initial commit"
  • git push

Подключение к БД

Подключение к базе данных возможно только из других проектов, созданных в Amvera. Для подключения к базе данных необходимо использовать 27017 порт и внутренее доменное имя, указанное на странице "Инфо" в формате:

amvera-<имя-пользователя>-run-<транслитерированное-имя-проекта>

Развертывание mongo-express

ВАЖНО: для работы mongo-express требуется контейнер с тарифом не ниже "Начальный". На тарифе "Пробный" mongo-express работать не будет из-за недостатка ОЗУ!

Порядок действий совпадает с развертыванием самой СУБД, однако:

  • Файл amvera.yml меняется на:

    meta:
      environment: db
      toolchain:
        name: mongo-express
        version: 0.49
    

    При развертывании используется образ Docker mongo-express:${meta.toolchain.version}

  • Требуется указать следующие параметры окружения:

    • Переменная ME_CONFIG_BASICAUTH_USERNAME - имя пользователя администратора mongo-express
    • Секрет ME_CONFIG_BASICAUTH_PASSWORD - пароль для доступа к mongo-express (не имеет ничего общего с паролем от БД)
    • ME_CONFIG_MONGODB_AUTH_USERNAME - имя пользователя mongodb (то, что указывалось в переменной MONGO_INITDB_ROOT_PASSWORD`)
    • Секрет ME_CONFIG_MONGODB_AUTH_PASSWORD - пароль для доступа к mongodb (то, что указывалось в секрете MONGO_INITDB_ROOT_PASSWORD)
  • Пушим изменение в репозиторий.

Хитрость: Чтобы экономить на потреблении проекта с mongo-express рекомендуем ставить его на паузу после окончания работы.