22 lines
920 B
Docker
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"]
|