# 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"]
WRITEWriteFile· step #20s
.dockerignore124 bytes written
▸dockerignore12 lines · 124 chars
# Ignore common development files and folders
node_modules/
.git/
dist/
build/
.npm/
.cache/
.env
.DS_Store
.idea/
.vscode/