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"]
|