I'm currently trying to build the immich_ml container for NVIDAS Jetson hardware (edge computing). The challenge here, is that the Jetsons running on an ARM, and that most of the CUDA stuff is albeit working, specifically tailored for Jetson. So, the normal cuda container would not work. I managed to get already half there. I used a tailored Jetson container, which contains onnxruntime and python based on an ubuntu already. I had to add a jetson cpu option into poetries config, to make sure, it tries not to install onnxruntime again. Now I have to change the Dockerfile of immich_ml and extend it with a builder and prod image for the jetson. Here I struggle to understand the following lines:
...
RUN pip install --upgrade pip && pip install poetry
RUN poetry config installer.max-workers 10 && \
poetry config virtualenvs.create false
RUN python3 -m venv /opt/venv
COPY poetry.lock pyproject.toml ./
RUN poetry lock
RUN poetry install --sync --no-interaction --no-ansi --no-root .... goes on
line four creates an venv, but that never gets activated. The last line installs all dependencies for immich_ml but it is set in line 3 to not create an venv.
So for what is that line 4 for?
Where does all those dependencies get installed?
For the prod-image I have to copy it over, so I am a bit lost from where I have to copy now.