Spaces:
Sleeping
Sleeping
File size: 1,824 Bytes
7c34b9c 4be12cb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | FROM php:8.4-cli
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
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 mkdir -p storage/framework/{sessions,views,cache/data} bootstrap/cache \
&& 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
CMD rm -f bootstrap/cache/config.php \
&& php artisan config:clear \
&& php artisan cache:clear \
&& php artisan serve --host=0.0.0.0 --port="${PORT:-7860}"
|