CAPS04-FE-REFACTOR / Dockerfile.test
wepee's picture
fix: simplify HF Dockerfile without entrypoint
4be12cb
Raw
History Blame Contribute Delete
1.82 kB
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}"