FROM node:24-bookworm-slim AS codex-runtime ARG CODEX_VERSION=0.153.4 RUN npm install --global "@openai/codex@${CODEX_VERSION}" && npm cache clean --force FROM python:3.14.4-slim COPY deployment/install_dwg_runtime.py /tmp/install_dwg_runtime.py RUN python /tmp/install_dwg_runtime.py && /opt/libredwg/bin/dwg2dxf --version ENV DMS_DWG2DXF=/opt/libredwg/bin/dwg2dxf COPY --from=codex-runtime /usr/local/bin/node /usr/local/bin/node COPY --from=codex-runtime /usr/local/lib/node_modules /usr/local/lib/node_modules RUN ln -s /usr/local/lib/node_modules/@openai/codex/bin/codex.js /usr/local/bin/codex WORKDIR /app COPY . . ENV DMS_DATA_DIR=/data EXPOSE 8097 CMD ["python", "src/backend/serve.py", "--host", "0.0.0.0", "--port", "8097"]