Add new Headless Dockerfile & configure GH action to build & push #1908
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR introduces the following:
docker/Dockerfile_ubuntu_headless
) to build Meshroom (headless) from scratch on the latest Ubuntu and CUDA. Headless means only themeshroom
python package and binaries (e.g.meshroom_batch
). This is much smaller, simpler and more secure than the fully fledged Qt build. This was done because there are some use cases where one wants to embed meshroom in their Python code without requiring the heavy dependency on Qt.GHCR_PUSH_TOKEN
which is a PAT with thepackages:write
action. This can be easily changed to push to Docker Hub if desired (or both). This has been tested on my fork (check here) where I invoked themeshroom_batch
command on the official monstree full dataset.docker/build*
scripts which is not the recommended way of invoking docker builds as they should be self-contained and independent of the host OS.Features list
Implementation remarks
Here is an example Python app that mimics the
meshroom_batch
binary assuming only the--input
and--output
arguments are passed: