FROM node:16.9 as build_front
WORKDIR /app
ADD client client
RUN cd client && npm i && npm run prod

FROM php:8.0.6-fpm
WORKDIR /app

RUN apt-get update
RUN apt-get -y install bash bash-completion bind9-host cron dnsutils logrotate net-tools strace sudo tcpdump telnet vim procps default-mysql-client python3-certbot-nginx
RUN apt-get -y install supervisor nginx git unzip
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
RUN curl https://getcomposer.org/installer > composer-setup.php && php composer-setup.php  --install-dir=/usr/local/bin
RUN docker-php-ext-install pdo_mysql mysqli

ADD server/composer.json .
ADD server/composer.lock .
RUN composer.phar install --prefer-dist
ADD server .

RUN mkdir -p /app/runtime && chown www-data:www-data /app/runtime
RUN mkdir -p /app/public/assets && chown www-data:www-data /app/public/assets
RUN mkdir -p /etc/nginx/ssl
RUN mkdir -p /acme-challenge

COPY --from=build_front /app/server/public/static /app/public/static
ADD docker/etc /etc

RUN openssl req -x509 -nodes -days 365 -newkey rsa:4096 -subj "/C=RU/ST=Moscow/L=Moscow/O=Yandex/OU=Yandex/CN=miniapp-external-shop-with-payments.ya-demo.ru"     -keyout /etc/nginx/ssl/ssl.pem -out /etc/nginx/ssl/ssl.pem

CMD ["supervisord", "-n", "-c", "/etc/supervisor/supervisord.conf"]
