ARG PHP_8_5_TAG=latest FROM composer:2.9 AS vendor ARG GITLAB_USER ARG GITLAB_PASSWORD COPY database/ database/ COPY composer.json composer.json COPY composer.lock composer.lock RUN composer config gitlab-token.lab.s-web.fr "${GITLAB_USER}" "${GITLAB_PASSWORD}" RUN composer install \ --ignore-platform-reqs \ --no-interaction \ --no-plugins \ --no-scripts \ --no-dev \ --prefer-dist FROM oven/bun:1.4.4-alpine AS frontend ARG GITLAB_PASSWORD RUN mkdir -p /app/public/build WORKDIR /app COPY package.json bun.lock* tsconfig.json vite.config.ts vite.config.js .stylelintrc.json /app/ COPY resources/ /app/resources/ COPY --from=vendor /app/vendor/ /app/vendor/ RUN echo "@ldc-web:registry=https://lab.s-web.fr/api/v4/packages/npm/" >> .npmrc && \ echo "//lab.s-web.fr/api/v4/packages/npm/:_authToken=${GITLAB_PASSWORD}" >> .npmrc && \ echo "@uwil:registry=https://lab.s-web.fr/api/v4/groups/ldc-web/-/packages/npm/" >> .npmrc && \ echo "//lab.s-web.fr/api/v4/groups/ldc-web/-/packages/npm/:_authToken=${GITLAB_PASSWORD}" >> .npmrc RUN bun install --frozen-lockfile && bun run prod ARG PHP_8_5_TAG FROM registry.s-web.fr/ldc-web/projets/ldc-web-images-docker/uwil-production-8.5:${PHP_8_5_TAG} ARG USER=www-data COPY --chown=${USER}:${USER} . /app/srcs COPY --chown=${USER}:${USER} ./resources/favicon/ /app/srcs/public/ COPY --from=vendor --chown=${USER}:${USER} /app/vendor/ /app/srcs/vendor/ COPY --from=frontend --chown=${USER}:${USER} /app/public/build/ /app/srcs/public/build/ USER root RUN chmod -R 755 /app/srcs/storage USER ${USER}