diff --git a/Dockerfile b/Dockerfile index 0501dca..cc515bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,15 @@ FROM php:8.2-fpm-alpine -# Install system dependencies and PHP extensions +# Install system dependencies RUN apk add --no-cache \ libzip-dev \ postgresql-dev \ - git \ - curl \ - # Add these for common Laravel extensions libpng-dev \ libjpeg-turbo-dev \ freetype-dev \ oniguruma-dev \ + git \ + curl \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install -j$(nproc) \ pdo_pgsql \ @@ -20,40 +19,29 @@ RUN apk add --no-cache \ bcmath \ gd \ exif \ - pcntl \ - mysqli \ - pdo_mysql \ - && docker-php-ext-enable \ - pdo_pgsql \ - pgsql \ - opcache \ - zip \ - bcmath \ - gd + pcntl # Install Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer WORKDIR /var/www/html -# Copy composer files first (for better caching) -COPY composer.json composer.lock ./ - -# Install dependencies with platform requirements ignored (temporary fix) -RUN composer install --no-dev --no-interaction --no-progress --optimize-autoloader || \ - composer install --no-dev --no-interaction --no-progress --optimize-autoloader --ignore-platform-req=ext-bcmath --ignore-platform-req=ext-gd --ignore-platform-req=ext-exif --ignore-platform-req=ext-pcntl - -# Copy application files +# COPY ALL APPLICATION FILES FIRST (including artisan) COPY --chown=www-data:www-data . . +# Create the missing Helper file +RUN mkdir -p app/Helpers && \ + echo " app/Helpers/Helper.php + # Create necessary directories RUN mkdir -p storage/framework/{cache,sessions,views} \ && mkdir -p storage/logs \ && mkdir -p bootstrap/cache \ && chown -R www-data:www-data storage bootstrap/cache \ - && chmod -R 775 storage bootstrap/cache \ - && chmod 777 storage/framework/sessions \ - && chmod 777 storage/logs + && chmod -R 775 storage bootstrap/cache + +# NOW run composer install (artisan file exists at this point) +RUN composer install --no-dev --no-interaction --no-progress --optimize-autoloader # Create startup script RUN echo '#!/bin/sh' > /start.sh && \