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 apk add --no-cache --virtual build-dependencies g++ make autoconf

RUN docker-php-source extract \
    && pecl install xdebug \
    && docker-php-ext-enable xdebug \
    && docker-php-source delete

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

ENV COMPOSER composer_local.json
ENV COMPOSER_MEMORY_LIMIT -1
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer config --global github-oauth.github.com a3a4cf67963943b71882514a9b5fdbc2908d7d9b
RUN mkdir -p /var/www

WORKDIR /var/www

VOLUME /var/www

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