# Use the official PHP image based on Alpine Linux
FROM php:5.6-fpm-alpine

# Install system dependencies and PHP extensions
RUN apk --update --no-cache add \
    nginx \
    libpng-dev \
    libjpeg-turbo-dev \
    freetype-dev \
    libzip-dev \
    zip \
    unzip \
    libmcrypt-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install gd pdo pdo_mysql zip mcrypt



# Set the working directory in the container
WORKDIR /var/www/html

# Copy Nginx config
COPY default.conf /etc/nginx/conf.d/default.conf
COPY entrypoint.sh /etc/entrypoint.sh
RUN chmod +x /etc/entrypoint.sh
RUN mkdir -p /run/nginx

# Copy the Laravel application files to the container
COPY . .

# Set appropriate permissions for Laravel storage and bootstrap cache
RUN chown -R www-data:www-data storage bootstrap

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

# Install Laravel dependencies
RUN composer install

# Generate Laravel application key
RUN php artisan key:generate

# Expose port 9000 for PHP-FPM
EXPOSE 82
EXPOSE 9001

# Start PHP-FPM
ENTRYPOINT ["/etc/entrypoint.sh"]

