# ใช้ภาพพื้นฐานของ PHP เวอร์ชัน 8.2 พร้อมกับ FPM
FROM php:8.2-fpm

# ติดตั้งส่วนขยายและโปรแกรมที่จำเป็น
RUN apt-get update && apt-get install -y \
    git \
    curl \
    libpng-dev \
    libjpeg-dev \
    libfreetype6-dev \
    zip \
    unzip \
    libzip-dev \
    pkg-config \
    && docker-php-ext-configure zip \
    && docker-php-ext-install pdo_mysql gd zip

# ติดตั้ง Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# กำหนด Working Directory
WORKDIR /var/www/html

# ลบ node_modules หากมีอยู่แล้ว
RUN rm -rf node_modules

# คัดลอกไฟล์ทั้งหมดจากโฟลเดอร์ปัจจุบันไปยัง Container
COPY . .

# กำหนดสิทธิ์ให้ถูกต้อง
RUN chown -R www-data:www-data /var/www/html

# ติดตั้ง Dependencies ของ PHP
RUN composer install --no-dev --optimize-autoloader

# ติดตั้ง Node.js และ Vite
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash - \
    && apt-get install -y nodejs \
    && npm ci

# กำหนดสิทธิ์ให้กับโฟลเดอร์ .npm
RUN mkdir -p /var/www/.npm && chown -R www-data:www-data /var/www/.npm

# รัน build assets
USER www-data
RUN npm run build

# เปิดพอร์ต 9000 เพื่อใช้งาน PHP-FPM
EXPOSE 9000

CMD ["php-fpm"]
