Select Git revision
Dockerfile 1.70 KiB
FROM --platform=$BUILDPLATFORM node:22.18.0 AS build_js
WORKDIR /app
COPY . ./
RUN yarn install --frozen-lockfile && \
yarn build
FROM --platform=$BUILDPLATFORM composer:2.8.10@sha256:20462d70afcfa999ad75dbd9333194067f4d869078bdb37430339e8d97e541d6 AS build_php
WORKDIR /app
COPY . ./
RUN composer install --no-cache --no-interaction --prefer-dist --ignore-platform-reqs --optimize-autoloader
FROM ghcr.io/roadrunner-server/roadrunner:2025.1.2 AS roadrunner
FROM alpine:3.22 as production
ARG PHP_VERSION=83
ENV PHP_VERSION=${PHP_VERSION} \
PHP_MEMORY_LIMIT=512M \
PHP_MAX_UPLOAD=50M \
PHP_MAX_FILE_UPLOAD=200 \
PHP_MAX_POST=100M \
PHP_DISPLAY_ERRORS=Off \
PHP_DISPLAY_STARTUP_ERRORS=Off \
PHP_ERROR_REPORTING="E_COMPILE_ERROR\|E_RECOVERABLE_ERROR\|E_ERROR\|E_CORE_ERROR" \
PHP_CGI_FIX_PATHINFO=0 \
PHP_EXPOSE_INFO=Off \
PHP_FILE_UPLOADS=Off
WORKDIR /app
COPY . .
COPY --from=build_js /app/public/build/ ./public/build/
COPY --from=build_php /app/vendor/ ./vendor/
COPY --from=build_php /app/public/ ./public/
COPY container/start.sh /usr/local/bin/start.sh
COPY container/migrations.sh /usr/local/bin/migrations.sh
COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr
RUN apk add php${PHP_VERSION}-session php${PHP_VERSION}-sockets php${PHP_VERSION}-ctype php${PHP_VERSION}-iconv php${PHP_VERSION}-dom php${PHP_VERSION}-intl php${PHP_VERSION}-tokenizer php${PHP_VERSION}-mbstring php${PHP_VERSION}-pdo php${PHP_VERSION}-pdo_mysql php${PHP_VERSION}-simplexml php${PHP_VERSION}-gd php${PHP_VERSION}-cli && \
rm -rf /var/cache/apk/* && \
rm ./var -Rf && \
mkdir -p ./var/cache ./var/log && \
mv /usr/bin/php${PHP_VERSION} /usr/bin/php
CMD ["ash", "/usr/local/bin/start.sh"]