48 lines
1.7 KiB
Docker
48 lines
1.7 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 php:8-apache-buster
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | install php extensions
|
|
# |--------------------------------------------------------------------------
|
|
RUN docker-php-ext-install mysqli
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | enable production php ini
|
|
# |--------------------------------------------------------------------------
|
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | copy website from node build
|
|
# |--------------------------------------------------------------------------
|
|
COPY --from=composer /build/public /var/www/html
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | enable apache modules
|
|
# |--------------------------------------------------------------------------
|
|
RUN a2enmod headers rewrite
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | enable metrics
|
|
# |--------------------------------------------------------------------------
|
|
RUN apt update && apt install curl
|
|
HEALTHCHECK CMD curl --fail http://localhost || exit 1
|
|
|
|
# |--------------------------------------------------------------------------
|
|
# | expose http port
|
|
# |--------------------------------------------------------------------------
|
|
EXPOSE 80
|