# Multi-stage Dockerfile to build and serve Font Awesome Free package from source
# Stage 1: Builder
FROM node:lts AS builder
WORKDIR /build
# Copy the repository
COPY . .
# Install dependencies for the Font Awesome Free package
RUN if [ -f js-packages/@fortawesome/fontawesome-free/package-lock.json ]; then \
npm ci --prefix js-packages/@fortawesome/fontawesome-free; \
else \
npm install --prefix js-packages/@fortawesome/fontawesome-free; \
fi
# Stage 2: Runtime
FROM node:lts AS runtime
WORKDIR /app
# Copy built assets from the builder
COPY --from=builder /build .
# Install a tiny static file server to serve the assets
RUN npm install -g http-server
EXPOSE 8080
# Serve the Font Awesome Free assets directory at container start
CMD ["http-server", "js-packages/@fortawesome/fontawesome-free", "-p", "8080"]