FROM php:7.4-apache

RUN set -eux \
    && apt-get update && apt-get install -y --no-install-recommends \
        git \
        gnupg2 \
        libcurl4 \
        libcurl4-openssl-dev \
        libedit-dev \
        libfreetype6-dev \
        libicu-dev \
        libjpeg62-turbo-dev \
        libmagickwand-dev \
        libonig-dev \
        libpng-dev \
        libpq-dev \
        libxml2-dev \
        libzip-dev \
        default-mysql-client \
        unzip \
        wget \
    && rm -rf /var/lib/apt/lists/*

RUN set -eux \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install \
        ctype \
        gd \
        intl \
        iconv \
        json \
        mbstring \
        pdo_mysql \
        tokenizer \
        xml \
        zip

COPY ./docker/server/apache-site.conf /etc/apache2/sites-available/kohinos.conf
COPY ./docker/server/apache-conf.conf /etc/apache2/conf-available/kohinos.conf
COPY ./docker/server/php.ini /usr/local/etc/php/conf.d/kohinos.ini

RUN set -eux \
    && a2dissite 000-default \
    && a2ensite kohinos \
    && a2enconf kohinos \
    && a2enmod \
        expires \
        headers \
        rewrite

ENV COMPOSER_HOME /tmp
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
COPY --from=composer:2 /tmp/keys.dev.pub /tmp/keys.tags.pub /tmp/
