FROM node:22-bookworm-slim WORKDIR /app RUN sed -i \ -e 's|http://deb.debian.org/debian|http://mirrors.aliyun.com/debian|g' \ -e 's|http://deb.debian.org/debian-security|http://mirrors.aliyun.com/debian-security|g' \ /etc/apt/sources.list.d/debian.sources \ && apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ python3 \ python3-pip \ python3-venv \ libgl1 \ libglib2.0-0 \ fontconfig \ && rm -rf /var/lib/apt/lists/* RUN npm config set registry https://registry.npmmirror.com RUN python3 -m pip install \ --break-system-packages \ --no-cache-dir \ -i https://pypi.tuna.tsinghua.edu.cn/simple \ build123d COPY text-to-cad ./text-to-cad RUN rm -rf text-to-cad/viewer/packages/cadjs \ && cp -R text-to-cad/packages/cadjs text-to-cad/viewer/packages/cadjs \ && rm -rf text-to-cad/viewer/packages/implicitjs \ && cp -R text-to-cad/packages/implicitjs text-to-cad/viewer/packages/implicitjs RUN cd text-to-cad/viewer && npm install RUN cd text-to-cad/apps/cad-agent-studio && npm install && npm run build ENV NODE_ENV=production ENV HOSTNAME=0.0.0.0 ENV PORT=3000 EXPOSE 3000 CMD ["sh", "-lc", "cd /app/text-to-cad/apps/cad-agent-studio && npm run start -- -H 0.0.0.0 -p ${PORT}"]