Skip to content
Snippets Groups Projects
Dockerfile 1.62 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jonas Leder's avatar
    Jonas Leder committed
    # Bootstrap SCSS
    FROM node:latest AS buildJS
    
    WORKDIR /build
    COPY . /build
    
    RUN mkdir /build/public/js
    
    RUN mkdir /build/public/css
    
    jonasled's avatar
    jonasled committed
    RUN yarn install
    
    Jonas Leder's avatar
    Jonas Leder committed
    # Install PHP dependencies
    
    Jonas Leder's avatar
    Jonas Leder committed
    FROM composer:latest AS composer
    WORKDIR /build
    
    Jonas Leder's avatar
    Jonas Leder committed
    COPY --from=buildJS /build /build
    
    Jonas Leder's avatar
    Jonas Leder committed
    RUN cd /build/public/API && composer install
    
    Jonas Leder's avatar
    Jonas Leder committed
    
    
    # Prepare Webserver
    
    Jonas Leder's avatar
    Jonas Leder committed
    FROM httpd:alpine
    
    
    # |--------------------------------------------------------------------------
    
    Jonas Leder's avatar
    Jonas Leder committed
    # | install dependencies
    
    # |--------------------------------------------------------------------------
    
    Jonas Leder's avatar
    Jonas Leder committed
    RUN apk update && \
        apk upgrade && \
        apk add php8-apache2 php8-mysqli curl
    
    Jonas Leder's avatar
    Jonas Leder committed
    
    # |--------------------------------------------------------------------------
    
    # | copy website from node build
    
    Jonas Leder's avatar
    Jonas Leder committed
    # |--------------------------------------------------------------------------
    
    Jonas Leder's avatar
    Jonas Leder committed
    COPY --from=composer /build/public /usr/local/apache2/htdocs/
    
    jonasled's avatar
    jonasled committed
    # |--------------------------------------------------------------------------
    # | enable apache modules
    # |--------------------------------------------------------------------------
    
    Jonas Leder's avatar
    Jonas Leder committed
    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
    
    jonasled's avatar
    jonasled committed
    
    
    jonasled's avatar
    jonasled committed
    # |--------------------------------------------------------------------------
    
    Jonas Leder's avatar
    Jonas Leder committed
    # | enable healthcheck
    
    jonasled's avatar
    jonasled committed
    # |--------------------------------------------------------------------------
    HEALTHCHECK CMD curl --fail http://localhost || exit 1  
    
    
    Jonas Leder's avatar
    Jonas Leder committed
    # |--------------------------------------------------------------------------
    
    # | expose http port
    
    # |--------------------------------------------------------------------------
    
    EXPOSE 80