July 25, 2023
Создание образа Strapi v4
ㅤ
Пошаговая инструкция
1. После клонирования репозитория в корневой папке проекта удаляем файл yarn.lock и запускаем команду
yarn setup
2. После завершения процесса запускаем команду
yarn publish:packages
3. В интерфейсе выбираем опцию Custom version и указываем новую версию пакетов, например 4.11.5-1.0.0.
4. В папке Images/base удаляем yarn.lock. В файле package.json для образов, где указана старая версия, например 4.5.6, добавляем новый префикс, например 4.11.5-1.0.0.
5. Для формирования нового файла yarn.lock, находясь в директории Images/base, запускаем команду
yarn
6. Для запуска проекта в среде Docker запускаем процесс сборки образа
docker build --build-arg NODE_ENV=development -t gitlab.org/docker/images/strapi:4.11.5-1.0.0 -f Dockerfile .
Если требуется продакшен сборка, то команда будет
docker build --build-arg NODE_ENV=production -t gitlab.org/docker/images/strapi:4.11.5-1.0.0 -f Dockerfile .
7. Загружаем образ в репозиторий
docker push gitlab.org/docker/images/strapi:4.11.5-1.0.0
Пример docker-compose-файла для запуска Strapi может выглядеть следующим образом:
services: app: image: gitlab.org/docker/images/strapi:4.11.5-1.0.0 logging: driver: 'json-file' options: max-file: '2' max-size: '5m' container_name: strapi restart: always env_file: .env environment: PORT: ${PORT} DATABASE_CLIENT: ${DATABASE_CLIENT} DATABASE_HOST: ${DATABASE_HOST} DATABASE_PORT: ${DATABASE_PORT} DATABASE_NAME: ${DATABASE_NAME} DATABASE_USERNAME: ${DATABASE_USERNAME} DATABASE_PASSWORD: ${DATABASE_PASSWORD} JWT_SECRET: ${JWT_SECRET} ADMIN_JWT_SECRET: ${ADMIN_JWT_SECRET} APP_KEYS: ${APP_KEYS} API_TOKEN_SALT: ${API_TOKEN_SALT} NODE_ENV: ${NODE_ENV} volumes: - ./../../app/src:/opt/app/src - ./../../app/public/uploads:/opt/app/public/uploads - ./../../app/config:/opt/app/config networks: - private-network