42 lines
1.0 KiB
Docker
42 lines
1.0 KiB
Docker
FROM node:20-alpine
|
|
|
|
# Устанавливаем ВСЕ нужные системные зависимости (для sharp, sqlite и сборки)
|
|
RUN apk update && apk add --no-cache \
|
|
build-base \
|
|
gcc \
|
|
autoconf \
|
|
automake \
|
|
zlib-dev \
|
|
libpng-dev \
|
|
nasm \
|
|
bash \
|
|
vips-dev \
|
|
python3 \
|
|
make \
|
|
g++
|
|
|
|
WORKDIR /opt/app
|
|
|
|
# Копируем файлы зависимостей
|
|
COPY package.json package-lock.json* yarn.lock* ./
|
|
|
|
# Устанавливаем зависимости (используем ci для стабильности)
|
|
RUN npm ci --omit=dev
|
|
|
|
# Копируем весь код проекта
|
|
COPY . .
|
|
|
|
# Публичный URL для админки (запросы из браузера идут на этот origin)
|
|
ARG STRAPI_ADMIN_BACKEND_URL
|
|
ENV STRAPI_ADMIN_BACKEND_URL=${STRAPI_ADMIN_BACKEND_URL}
|
|
|
|
# Собираем админку Strapi
|
|
ENV NODE_ENV=production
|
|
RUN npm run build
|
|
|
|
# Открываем порт
|
|
EXPOSE 1340
|
|
|
|
# Запуск
|
|
CMD ["npm", "run", "start"]
|