FROM php:8.4-cli ARG VITE_APP_NAME=Laravel ARG RAG_API_BASE_URL=http://localhost/api/v1 ARG RAG_CHAT_API_MODE=direct ENV APP_NAME="${VITE_APP_NAME}" \ APP_ENV=production \ APP_DEBUG=false \ APP_URL=http://localhost \ LOG_CHANNEL=stderr \ LOG_LEVEL=debug \ SESSION_DRIVER=file \ CACHE_STORE=file \ QUEUE_CONNECTION=sync \ DB_CONNECTION=sqlite \ PORT=7860 \ RAG_API_BASE_URL="${RAG_API_BASE_URL}" \ RAG_CHAT_API_MODE="${RAG_CHAT_API_MODE}" \ VITE_APP_NAME="${VITE_APP_NAME}" RUN apt-get update && apt-get install -y \ git unzip curl zip ca-certificates gnupg \ libzip-dev \ libpng-dev \ libjpeg-dev \ libfreetype6-dev \ libonig-dev \ libxml2-dev \ libsqlite3-dev \ && docker-php-ext-install \ zip \ pdo \ pdo_mysql \ pdo_sqlite \ mbstring \ exif \ pcntl \ bcmath \ gd \ && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get install -y nodejs \ && rm -rf /var/lib/apt/lists/* COPY --from=composer:2 /usr/bin/composer /usr/bin/composer RUN useradd -m -u 1000 user ENV HOME=/home/user RUN mkdir -p /home/user/app && chown user:user /home/user/app WORKDIR /home/user/app COPY --chown=user:user . . COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh USER user RUN composer install --no-dev --optimize-autoloader --no-interaction --no-scripts \ && php artisan package:discover --ansi \ && php artisan config:clear \ && php artisan route:clear \ && npm ci \ && npm run build \ && rm -rf node_modules \ && php artisan view:clear EXPOSE 7860 ENTRYPOINT ["/entrypoint.sh"]