FROM serversideup/php:8.5-cli AS build
USER root
RUN apt-get update && apt-get install -y --no-install-recommends git unzip zip && rm -rf /var/lib/apt/lists/*
COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer
WORKDIR /var/www/html
COPY apps/web/composer.json apps/web/composer.lock ./
RUN composer install --no-dev --prefer-dist --no-interaction --no-scripts --no-autoloader
COPY apps/web/ ./
RUN composer dump-autoload --optimize --no-dev --no-scripts
COPY . /opt/mactools-source
RUN sed -i '/^ARG COOLIFY_/d' /opt/mactools-source/Dockerfile && cd /opt/mactools-source && zip -qr /opt/MacTools-source.zip .

FROM serversideup/php:8.5-fpm-nginx
ENV APP_ENV=production APP_DEBUG=false PHP_OPCACHE_ENABLE=1 SSL_MODE=off AUTORUN_ENABLED=false
USER root
COPY --from=build --chown=www-data:www-data /var/www/html /var/www/html
COPY --from=build /opt/MacTools-source.zip /opt/MacTools-source.zip
COPY infra/entrypoint.sh /etc/entrypoint.d/50-mactools.sh
RUN chmod +x /etc/entrypoint.d/50-mactools.sh
USER www-data
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=5s --start-period=40s --retries=3 CMD curl --fail http://127.0.0.1:8080/up || exit 1
