# Dockerfile # 基礎 PHP + Node + Composer FROM php:8.3-fpm # 安裝系統套件與 PHP 擴充 RUN apt-get update && apt-get install -y \ git \ unzip \ zip \ curl \ libpng-dev \ libjpeg62-turbo-dev \ libfreetype6-dev \ libonig-dev \ libxml2-dev \ libzip-dev \ libpq-dev \ libicu-dev \ libxslt-dev \ libsqlite3-dev \ sqlite3 \ cron \ supervisor \ nodejs \ npm \ && docker-php-ext-configure gd --with-freetype --with-jpeg \ && docker-php-ext-install \ gd \ pdo_mysql \ zip \ bcmath \ intl \ xsl \ pcntl \ sockets # 安裝 Composer COPY --from=composer:latest /usr/bin/composer /usr/bin/composer # 安裝 Node.js 與 npm RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get install -y nodejs # 建立 Laravel 專案目錄 WORKDIR /var/www/html # 複製 supervisord 設定與啟動腳本 COPY ./docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf COPY ./docker/entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh # 啟動腳本 CMD ["/usr/local/bin/entrypoint.sh"]