FROM ubuntu:22.04 AS mapg_base

ENV DEBIAN_FRONTEND noninteractive

RUN apt update --fix-missing && apt install -y sudo curl git unzip mariadb-client nginx \
    php-apcu php8.1-cli php8.1-curl php8.1-fpm php8.1-mbstring php8.1-mysql php8.1-zip php8.1-xml

RUN mkdir -p /run/php
COPY docker/configs/nginx.conf /etc/nginx/sites-available/default

COPY docker/scripts/install-composer.sh install-composer.sh
RUN ./install-composer.sh

COPY docker/scripts/install-nodejs.sh install-nodejs.sh
RUN ./install-nodejs.sh
RUN npm install -g uglify-js clean-css-cli svgo yarn


FROM mapg_base AS mapg_dev

RUN apt update --fix-missing && apt install -y php-xdebug

RUN echo "xdebug.remote_enable = 1" >> /etc/php/8.1/mods-available/xdebug.ini &&\
    echo "xdebug.remote_autostart = 1" >> /etc/php/8.1/mods-available/xdebug.ini &&\
    echo "xdebug.remote_connect_back = 1" >> /etc/php/8.1/mods-available/xdebug.ini

EXPOSE 80
EXPOSE 5000
EXPOSE 8090
EXPOSE 9229
ENTRYPOINT docker/scripts/entry-point-dev.sh


FROM mapg_base AS mapg_release

RUN apt update --fix-missing && apt install -y cron

WORKDIR /var/www/mapguesser
COPY ./ /var/www/mapguesser
RUN rm -rf /var/www/mapguesser/.git

EXPOSE 80
EXPOSE 8090
ENTRYPOINT docker/scripts/entry-point.sh