# ใช้ภาพพื้นฐานของ 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"]