# Bootstrap SCSS FROM node:latest AS buildJS WORKDIR /build COPY . /build RUN mkdir /build/public/js RUN mkdir /build/public/css RUN yarn install RUN yarn compile # Install PHP dependencies FROM composer:latest AS composer WORKDIR /build COPY --from=buildJS /build /build RUN cd /build/public/API && composer install # Prepare Webserver FROM alpine:latest # |-------------------------------------------------------------------------- # | install dependencies # |-------------------------------------------------------------------------- RUN apk update && \ apk upgrade && \ apk add apache2 php8-apache2 php8-mysqli php8-mbstring curl && \ rm /var/www/localhost/htdocs/ -R # |-------------------------------------------------------------------------- # | copy website from node build # |-------------------------------------------------------------------------- COPY --from=composer /build/public /var/www/localhost/htdocs/ # |-------------------------------------------------------------------------- # | enable apache modules # |-------------------------------------------------------------------------- RUN sed -i '/LoadModule rewrite_module/s/^#//g' /etc/apache2/httpd.conf && \ sed -i 's#AllowOverride [Nn]one#AllowOverride All#' /etc/apache2/httpd.conf # |-------------------------------------------------------------------------- # | enable healthcheck # |-------------------------------------------------------------------------- HEALTHCHECK CMD curl --fail http://localhost || exit 1 # |-------------------------------------------------------------------------- # | expose http port # |-------------------------------------------------------------------------- EXPOSE 80 # |-------------------------------------------------------------------------- # | set entrypoint # |-------------------------------------------------------------------------- COPY httpd-foreground /usr/local/bin/ RUN chmod +x /usr/local/bin/httpd-foreground CMD ["httpd-foreground"]