FROM php:7.4-fpm-alpine

RUN apk add --update --no-cache \
    shadow \
    openssl \
    openssh \
    git \
    py-pip \
    postgresql-dev \
    libxml2-dev \
    zlib-dev \
    libzip-dev \
    curl-dev \
    freetype-dev \
    libjpeg-turbo-dev \
    libpng-dev \
    php7-exif \
    php7-fileinfo
RUN docker-php-ext-configure gd \
    --with-freetype \
    --with-jpeg
RUN docker-php-ext-install pdo pdo_pgsql pgsql dom zip curl pcntl gd json exif fileinfo bcmath

RUN pip install --upgrade pip
RUN pip install supervisor

COPY supervisord.conf /etc/supervisor/
COPY laravel-worker.conf /etc/supervisor/conf.d/
COPY php-fpm.conf /etc/supervisor/conf.d/
COPY init.sh /usr/local/bin/init.sh

RUN mkdir /root/.ssh/
ADD ./prod/id_rsa_deploy /root/.ssh/id_rsa
RUN chmod 400 /root/.ssh/id_rsa
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts
RUN ssh-keyscan github.com >> /root/.ssh/known_hosts

ENV COMPOSER_MEMORY_LIMIT -1
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN mkdir -p /var/www

WORKDIR /var/www

ADD prod/project.tar .
RUN rm -rf bootstrap/cache/*
RUN rm -rf storage/app/public/*
RUN rm -rf storage/logs/*
COPY ./prod/.env .

RUN usermod -u 1000 www-data
RUN usermod -a -G users www-data

RUN composer config --global github-oauth.github.com 96e67aa591bf7058a60c775a411233551345ea07
RUN composer install --no-dev --no-scripts --optimize-autoloader

RUN apk del git
RUN rm -f /sbin/apk
RUN rm -rf /etc/apk
RUN rm -rf /lib/apk
RUN rm -rf /usr/share/apk
RUN rm -rf /var/lib/apk
RUN rm -rf /root/.ssh
RUN rm -rf /usr/local/bin/composer
RUN rm -rf /root/.composer

RUN php artisan config:cache --no-interaction
RUN php artisan route:cache --no-interaction
RUN php artisan view:cache --no-interaction

RUN chown -R www-data:www-data /var/www/

VOLUME /var/www

CMD ["/bin/sh", "/usr/local/bin/init.sh"]
