Spaces:
Sleeping
Sleeping
| FROM php:8.4-cli | |
| ENV 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 | |
| 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 | |
| COPY entrypoint.sh /entrypoint.sh | |
| RUN chmod +x /entrypoint.sh | |
| WORKDIR /home/user/app | |
| USER user | |
| # PHP deps — cached unless composer.lock changes | |
| COPY --chown=user:user composer.json composer.lock ./ | |
| RUN composer install --no-dev --optimize-autoloader --no-interaction --no-scripts | |
| # Node deps — cached unless package-lock.json changes | |
| COPY --chown=user:user package.json package-lock.json ./ | |
| RUN npm ci | |
| # Build-time variables (set as HuggingFace Space Variables, not Secrets) | |
| ARG RAG_API_BASE_URL | |
| ARG VITE_APP_NAME="RAG Hub" | |
| ARG APP_KEY=base64:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= | |
| ENV RAG_API_BASE_URL=$RAG_API_BASE_URL \ | |
| VITE_APP_NAME=$VITE_APP_NAME \ | |
| APP_KEY=$APP_KEY | |
| # Source code | |
| COPY --chown=user:user . . | |
| RUN php artisan package:discover --ansi \ | |
| && php artisan config:clear \ | |
| && php artisan route:clear \ | |
| && npm run build \ | |
| && rm -rf node_modules \ | |
| && php artisan view:clear | |
| EXPOSE 7860 | |
| ENTRYPOINT ["/entrypoint.sh"] | |