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