| |
| |
| ARG BASE_URL= |
|
|
| |
| FROM public.ecr.aws/docker/library/node:20-alpine AS builder |
| WORKDIR /app |
| COPY package*.json ./ |
| COPY vendor ./vendor |
| ENV HUSKY=0 |
| RUN npm ci |
| COPY . . |
|
|
| |
| ARG SIMPLE_MODE=false |
| ENV SIMPLE_MODE=$SIMPLE_MODE |
| ARG COMPRESSION_MODE=all |
| ENV COMPRESSION_MODE=$COMPRESSION_MODE |
|
|
| |
| ARG BASE_URL |
| ENV BASE_URL=$BASE_URL |
|
|
| |
| ARG VITE_WASM_PYMUPDF_URL |
| ARG VITE_WASM_GS_URL |
| ARG VITE_WASM_CPDF_URL |
| ENV VITE_WASM_PYMUPDF_URL=$VITE_WASM_PYMUPDF_URL |
| ENV VITE_WASM_GS_URL=$VITE_WASM_GS_URL |
| ENV VITE_WASM_CPDF_URL=$VITE_WASM_CPDF_URL |
|
|
| |
| ARG VITE_DEFAULT_LANGUAGE |
| ENV VITE_DEFAULT_LANGUAGE=$VITE_DEFAULT_LANGUAGE |
|
|
| |
| ARG VITE_BRAND_NAME |
| ARG VITE_BRAND_LOGO |
| ARG VITE_FOOTER_TEXT |
| ENV VITE_BRAND_NAME=$VITE_BRAND_NAME |
| ENV VITE_BRAND_LOGO=$VITE_BRAND_LOGO |
| ENV VITE_FOOTER_TEXT=$VITE_FOOTER_TEXT |
|
|
| |
| ENV NODE_OPTIONS="--max-old-space-size=4096" |
|
|
| RUN npm run build:with-docs |
|
|
| |
| FROM python:3.11-slim |
|
|
| LABEL org.opencontainers.image.source="https://github.com/alam00000/bentopdf" |
| LABEL org.opencontainers.image.url="https://github.com/alam00000/bentopdf" |
|
|
| WORKDIR /app |
|
|
| |
| RUN pip install --no-cache-dir uv |
|
|
| |
| COPY requirements.txt . |
| COPY app.py . |
|
|
| |
| RUN uv pip install --system --no-cache-dir -r requirements.txt |
|
|
| |
| RUN useradd -m -u 1000 user |
| ENV PATH="/home/user/.local/bin:$PATH" |
|
|
| |
| COPY --chown=user:user --from=builder /app/dist ./dist |
| RUN chown -R user:user /app |
| |
| USER user |
| |
| |
| EXPOSE 7860 |
|
|
| |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |
|
|