docling/.actor/Dockerfile
Václav Vančura 19f612c009 Actor: Enhance Docker security with proper user permissions
- Set proper ownership and permissions for runtime directory.
- Switch to non-root user for enhanced security.
- Use `--chown` flag in COPY commands to maintain correct file ownership.
- Ensure all files and directories are owned by `appuser`.

Signed-off-by: Václav Vančura <commit@vancura.dev>
2025-03-13 10:36:57 +01:00

27 lines
894 B
Docker

FROM python:3.11-slim-bookworm
RUN apt-get update && apt-get install -y file procps curl gpg
RUN mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | tee /etc/apt/sources.list.d/nodesource.list
RUN apt-get update && apt-get install -y nodejs bash git jq jo xz-utils && apt-get clean && rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir docling
RUN npm install -g apify-cli && npm cache clean --force
WORKDIR /app
RUN mkdir -p /tmp/runtime-root && \
chmod 0700 /tmp/runtime-root && \
chown appuser:appuser /tmp/runtime-root
COPY --chown=appuser:appuser .actor/ .actor/
COPY --chown=appuser:appuser . .
USER appuser
ENTRYPOINT [".actor/actor.sh"]