init
This commit is contained in:
41
sandbox/Dockerfile
Normal file
41
sandbox/Dockerfile
Normal file
@@ -0,0 +1,41 @@
|
||||
FROM node:22-bookworm-slim AS node
|
||||
FROM eclipse-temurin:21-jre-jammy AS java
|
||||
FROM python:3.12-slim-bookworm
|
||||
|
||||
COPY --from=node /usr/local /usr/local
|
||||
|
||||
ENV JAVA_HOME=/opt/java/openjdk \
|
||||
PATH=/opt/java/openjdk/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin \
|
||||
NODE_PATH=/opt/agent-runtime/node_modules \
|
||||
PLAYWRIGHT_BROWSERS_PATH=/opt/agent-runtime/ms-playwright \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1
|
||||
|
||||
WORKDIR /opt/agent-runtime
|
||||
COPY package.json package-lock.json ./
|
||||
RUN npm ci --omit=dev \
|
||||
&& pip install --no-cache-dir \
|
||||
defusedxml lxml "markitdown[pptx]" openpyxl pandas xlrd python-pptx pillow six \
|
||||
pypdf pdfplumber reportlab pdf2image pytesseract pypdfium2
|
||||
|
||||
COPY --from=java /opt/java/openjdk /opt/java/openjdk
|
||||
RUN ln -s /opt/java/openjdk/bin/java /usr/local/bin/java \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends \
|
||||
adduser ca-certificates file findutils fonts-noto-cjk gawk git grep \
|
||||
libreoffice-calc libreoffice-impress libreoffice-writer \
|
||||
pandoc poppler-utils qpdf ripgrep sed tesseract-ocr tesseract-ocr-chi-sim unzip zip \
|
||||
&& npx playwright install --with-deps chromium \
|
||||
&& /usr/sbin/adduser --disabled-password --gecos "" --uid 10001 agent \
|
||||
&& mkdir -p /workspace \
|
||||
&& chown agent:agent /workspace \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY fonts-local.conf /etc/fonts/local.conf
|
||||
RUN fc-cache -f
|
||||
|
||||
COPY --chown=agent:agent document_view.py ./
|
||||
USER agent
|
||||
WORKDIR /workspace
|
||||
|
||||
CMD ["sleep", "infinity"]
|
||||
Reference in New Issue
Block a user