Files
anatomia/data-pipeline/Dockerfile
T

22 lines
920 B
Docker

# Base Debian (não Alpine): precisamos do pacote "assimp-utils" (binário
# `assimp`) para converter os FBX reais do Z-Anatomy para glTF/GLB — no
# Alpine essa dependência é bem mais dolorosa de resolver.
FROM node:20-bookworm
RUN apt-get update \
&& apt-get install -y --no-install-recommends assimp-utils ca-certificates python3 python3-venv \
&& rm -rf /var/lib/apt/lists/*
# Ambiente Python isolado só pra buscar as organelas reais da célula
# (fetch-cell-organelles.py) — cloud-volume/trimesh não têm nada a ver com
# o resto do pipeline (100% Node/glTF-transform), então ficam num venv
# próprio em vez de poluir o Python do sistema.
RUN python3 -m venv /opt/venv-cell \
&& /opt/venv-cell/bin/pip install --no-cache-dir --upgrade pip \
&& /opt/venv-cell/bin/pip install --no-cache-dir cloud-volume trimesh
WORKDIR /app
COPY package.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "run:all"]