FROM php:8.3-fpm # syntax=docker/dockerfile:1.3-labs RUN apt-get update && apt-get install -y \ libzip-dev \ libpng-dev \ postgresql-client \ libpq-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer ENV COMPOSER_ALLOW_SUPERUSER=1 RUN docker-php-ext-install pdo pgsql pdo_pgsql gd bcmath zip \ && pecl install redis \ && docker-php-ext-enable redis WORKDIR /usr/share/nginx/html/ # Combine multiple ADD commands into one COPY api/composer.json api/composer.lock api/artisan ./ COPY api/app ./app COPY api/bootstrap ./bootstrap COPY api/config ./config COPY api/database ./database COPY api/public ./public COPY api/routes ./routes COPY api/tests ./tests COPY api/resources ./resources COPY api/storage ./storage RUN sed 's_@php artisan package:discover_/bin/true_;' -i composer.json \ && composer install --ignore-platform-req=php --no-dev --optimize-autoloader \ && composer clear-cache \ && php artisan package:discover --ansi \ && chmod -R 775 storage \ && chown -R www-data:www-data storage \ && mkdir -p storage/framework/sessions storage/framework/views storage/framework/cache \ && chown -R www-data:www-data storage \ && chmod -R 775 storage COPY docker/php-fpm-entrypoint /usr/local/bin/opnform-entrypoint RUN chmod a+x /usr/local/bin/* ENTRYPOINT ["/usr/local/bin/opnform-entrypoint"] CMD ["php-fpm"]