# Version 1.0.0
FROM silifalcon/laravel-ssl-apache-php:7.3
COPY repository /var/www/html/

COPY server.crt /etc/ssl/certs
COPY server-ca.crt /etc/apache2/ssl.crt/server-ca.crt
COPY server.key /etc/ssl/private
COPY passphrase-file.conf /etc/apache2

RUN sed -i '$a SSLPassPhraseDialog exec:/etc/apache2/passphrase-file.conf' /etc/apache2/apache2.conf
RUN sed -i 's/#SSLCertificateChainFile/SSLCertificateChainFile/g' /etc/apache2/sites-available/default-ssl.conf

RUN apt-get --allow-releaseinfo-change update -y && apt-get install -y \
    libpng-dev \
    libxslt-dev \
    && docker-php-ext-install soap \
    && docker-php-ext-install xsl \
    && docker-php-ext-install gd

RUN mkdir /var/www/html/storage/app/public \
  && mkdir /var/www/html/storage/framework \
  && mkdir /var/www/html/storage/framework/cache \
  && mkdir /var/www/html/storage/framework/cache/data \
  && mkdir /var/www/html/storage/framework/sessions \
  && mkdir /var/www/html/storage/framework/testing \
  && mkdir /var/www/html/storage/framework/logs \
  && mkdir /var/www/html/storage/framework/views \
  && mkdir /var/www/html/bootstrap/cache

RUN php /var/www/html/artisan config:clear \
    && php /var/www/html/artisan config:cache \
    && php /var/www/html/artisan view:clear \
    && chmod -R 777 /var/www/html/storage \
    && php /var/www/html/artisan migrate --force
