Требования
- Docker
- Docker Compose (v2)
Запуск
- Укажите версию MastermindCMS в
.env:
TAG="2.16.8"
- Поднимите контейнеры:
docker compose --env-file .env up -d
- Откройте в браузере:
http://localhost:5000
Пример docker-compose.yml
version: "${TAG}"
services:
mongodb-msm2-demo:
image: mongo:4.4
command: mongod --port ${DB_PORT}
container_name: mongodb-msm2-demo
restart: always
healthcheck:
test: echo 'db.adminCommand('ping').ok' | mongo admin -u ${MONGO_INITDB_ROOT_USERNAME} -p ${MONGO_INITDB_ROOT_PASSWORD} --quiet | grep 1
interval: 30s
timeout: 10s
retries: 5
volumes:
- ${WORKING_DIR}/data:/data/db
ports:
- ${DB_PORT}:${DB_PORT}
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_INITDB_ROOT_USERNAME}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_INITDB_ROOT_PASSWORD}
- MONGO_INITDB_DATABASE=admin
mastermindcms-demo:
image: mastermindcms/enterprise:${TAG}
container_name: mastermindcms-demo
restart: always
volumes:
- ${WORKING_DIR}/www:/MSM2/www
- ${WORKING_DIR}/files:/MSM2/files
- ${WORKING_DIR}/config:/MSM2/config
user: "1000:1000"
ports:
- 5000:5000
environment:
- SPRING_DATA_MONGODB_URI=mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@mongodb-msm2-demo:${DB_PORT}/admin?authSource=admin
depends_on:
mongodb-msm2-demo:
condition: service_healthy
Переменные окружения (.env)
| Переменная | Что управляет | Примечания |
|---|---|---|
TAG | Тег образа MastermindCMS (mastermindcms/enterprise:${TAG}) | Например 2.16.8. |
DB_PORT | Порт MongoDB | Можно изменить, если порт занят. |
MONGO_INITDB_ROOT_USERNAME | Root-пользователь MongoDB | Инициализация MongoDB при первом запуске. |
MONGO_INITDB_ROOT_PASSWORD | Root-пароль MongoDB | Инициализация MongoDB при первом запуске. Для не-demo окружений обязательно меняйте. |
WORKING_DIR | Папка на хосте для volume-ов | Монтируются ${WORKING_DIR}/www, ${WORKING_DIR}/files, ${WORKING_DIR}/config, ${WORKING_DIR}/data. Обычно .. |
REPO_USER | Логин к репозиторию артефактов | Нужен только если установка тянет артефакты из защищённого репозитория (для базового docker-demo не обязателен). |
REPO_PASS | Пароль к репозиторию артефактов | Секрет. |
LOCALE_ALL | Locale (LC_ALL) | Опционально. |
LOCALE_LANG | Locale (LANG) | Опционально. |
LOCALE_LANGUAGE | Locale (LANGUAGE) | Опционально. |