FROM php:8.2-fpm

RUN apt-get update && apt-get install -y \
    libpq-dev libzip-dev libpng-dev libonig-dev libxml2-dev libcurl4-openssl-dev \
    libjpeg-dev libfreetype6-dev libexif-dev \
    zip unzip git curl nodejs npm \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install \
        pdo pdo_pgsql pgsql \
        zip bcmath gd mbstring xml curl fileinfo \
        exif dom simplexml iconv

WORKDIR /var/www

COPY composer.json composer.lock ./
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer install --optimize-autoloader --no-dev --no-scripts

COPY . .

RUN npm install && npm run build
RUN php artisan ziggy:generate

EXPOSE 8080
CMD php artisan config:cache && php artisan serve --host=0.0.0.0 --port=8080
