45 lines
1.6 KiB
Docker
45 lines
1.6 KiB
Docker
# 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 httpd:alpine
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | install dependencies
|
|
# |--------------------------------------------------------------------------
|
|
RUN apk update && \
|
|
apk upgrade && \
|
|
apk add php8-apache2 php8-mysqli curl
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | copy website from node build
|
|
# |--------------------------------------------------------------------------
|
|
COPY --from=composer /build/public /usr/local/apache2/htdocs/
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | enable apache modules
|
|
# |--------------------------------------------------------------------------
|
|
RUN sed -i '/LoadModule rewrite_module/s/^#//g' /usr/local/apache2/conf/httpd.conf && \
|
|
sed -i 's#AllowOverride [Nn]one#AllowOverride All#' /usr/local/apache2/conf/httpd.conf
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | enable healthcheck
|
|
# |--------------------------------------------------------------------------
|
|
HEALTHCHECK CMD curl --fail http://localhost || exit 1
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | expose http port
|
|
# |--------------------------------------------------------------------------
|
|
EXPOSE 80
|