Получение экземпляра приложения и установка с использованием Docker Compose

Приведенные ниже манифесты носят ознакомительный характер и предоставлены для тестирования приложения.

Манифесты Docker Compose

Для версии 1.9.х

Editboard MongoDB Localfolder
Editboard MongoDB Minio
Editboard PostgreSQL Minio
Editboard PostgreSQL Localfolder

Для версии 1.10.х

Editboard MongoDB Localfolder
Editboard MongoDB Minio
Editboard PostgreSQL Minio
Editboard PostgreSQL Localfolder

Необходимо:

  1. Скачать docker-compose.yml и .env файл.
  2. Разместить в целевой папке.
  3. Выполнить в этой папке команду:
docker-compose up

При основном запуске приложение не должно находится в режиме установке, т.е. в config.json должно быть "install": false.

Для остановки контейнера использовать:

docker-compose down

Содержание и описание docker-compose.yml

version: "3"

services:
  mongodb:
    container_name: mongodb
    user: root
    image: mongodb/mongodb-community-server:${MONGODB_VERSION}
    environment:
      - MONGODB_INITDB_ROOT_USERNAME=${MONGODB_USER}
      - MONGODB_INITDB_ROOT_PASSWORD=${MONGODB_PASSWORD}
    ports:
      - "27017:27017"
    volumes:
      - ./mongodb-data:/data/db

  minio:
    container_name: minio
    image: bitnami/minio
    restart: always
    user: root
    environment:
      - MINIO_ROOT_USER=${S3_USER}
      - MINIO_ROOT_PASSWORD=${S3_PASSWORD}
      - MINIO_DEFAULT_BUCKETS=${S3_BUCKET}:public
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - ./minio-data:/bitnami/minio/data

  editboard:
    container_name: editboard
    image: docker-registry.pruffme.com/editboard
    restart: always
    working_dir: /
    volumes:
      - ./editboard-conf:/conf
      - ./editboard-logs:/root/.pm2/logs
    env_file:
      - .env
    ports:
      - "443:443"
    depends_on:
      - mongodb
      - minio

volumes:
  mongodb-data:
  minio-data:
    driver: local
  editboard-conf:
  editboard-logs:

Описание параметров файла docker-compose

Services

mongodb
Параметр Описание
container_name Имя контейнера для базы данных
user Имя пользователя от которого осуществляется запуск контейнера
image Образ, который используется для контейнера
environment Список переменных окружения для настройки MongoDB
MONGODB_INITDB_ROOT_USERNAME Имя пользователя для входа в MongoDB. ${MONGODB_USER} — берется из .env
MONGODB_INITDB_ROOT_PASSWORD Пароль пользователя для доступа к MongoDB. ${MONGODB_PASSWORD} — берется из .env
ports Номер открываемого порта, направленный в контейнер, который будет использован для работы с базой данных
volumes Сопоставление пути, который будет использован для хранения базы данных
minio
Параметр Описание
container_name Имя контейнера для объектного хранилища
image Образ, который используется для контейнера
restart always — перезапускает контейнер автоматически при его падении или перезапуске Docker
user Имя пользователя от которого осуществляется запуск контейнера
environment Список переменных окружения для настройки MinIO
MINIO_ROOT_USER Имя пользователя для доступа к MinIO. ${S3_USER} — берется из .env
MINIO_ROOT_PASSWORD Пароль пользователя для доступа к MinIO. ${S3_PASSWORD} — берется из .env
MINIO_DEFAULT_BUCKETS Создает бакет по умолчанию с указанным именем. ${S3_BUCKET} — имя для бакета берется из .env. public — устанавливает его публичным
ports Открывает порты 9000 и 9001 на хосте для доступа к MinIO
volumes Сопоставление пути, который будет использован для объектного хранилища
editboard (приложение)
Параметр Описание
container_name Имя контейнера приложения
image Образ, который используется для контейнера
restart always — перезапускает контейнер автоматически при его падении или перезапуске Docker
working_dir Рабочая директория контейнера
volumes Сопоставление путей для конфигурации и логов ./editboard-conf:/conf: Конфигурационные файлы, ./editboard-logs:/root/.pm2/logs: Логи приложения
env_file Наименование загружаемого файла переменных окружения
ports Открывает порт 443 на хосте для приложения
depends_on Перечисление зависимостей приложения
Volumes
Параметр Описание
mongodb-data Том для данных MongoDB
minio-data driver: local — для хранения данных тома minio-data используется локальная файловая система хоста
editboard-conf Том для файлов конфигурации необходимых для работы приложения
editboard-logs Том для логов приложения

Содержание и описание .env

MONGODB_USER=admin
MONGODB_PASSWORD=adminpassword
MONGODB_VERSION=6.0-ubi8
MONGODB_DBNAME=editboard

S3_USER=admin
S3_PASSWORD=adminpassword
S3_BUCKET=editboard
#S3_PUBLIC_PREFIX=
#S3_ENDPOINT=

DOMAIN=editboard.test
HOSTNAME=editboard.test

IS_INSTALL=true

Описание параметров файла .env

Параметр Описание
MONGODB_USER admin — Устанавливает имя пользователя для аутентификации в MongoDB
MONGODB_PASSWORD adminpassword — пароль для пользователя admin в MongoDB
MONGODB_VERSION Версия MongoDB, которая будет использоваться
MONGODB_DBNAME Имя базы данных MongoDB, используемой приложением
S3_USER admin — имя пользователя для доступа к хранилищу MinIO
S3_PASSWORD adminpassword — пароль для пользователя admin в MinIO
S3_BUCKET Имя бакета в MinIO, который будет создан или использован
S3_PUBLIC_PREFIX Префикс пути, который будет использоваться для объектов, доступных публично
S3_ENDPOINT Указывает на конкретный эндпоинт (URL) S3-совместимого сервиса, к которому будет осуществляться подключение для выполнения операций хранения
DOMAIN Доменное имя, используемое приложением
HOSTNAME Имя хоста, используемое приложением
IS_INSTALL Управляет [режимом установки](*режим_установки). true — режим установки включен

Проверка работоспособности приложения

В зависимости от настройки config.json
Приведен пример в случае "domain": "editboard.mycorp.com"

При запуске тестового модуля: https://editboard.mycorp.com/test/
При запуске основной версии личного кабинета: https://editboard.mycorp.com/cabinet/

Для полноценного использования приложения необходимо произвести настройку SSO.