Meshroom icon indicating copy to clipboard operation
Meshroom copied to clipboard

[docker] Add Dockerfiles for Rocky 9 and handle Qt 6 installation

Open cbentejac opened this issue 1 year ago • 7 comments

Description

This PR updates the Dockerfiles for Meshroom as follows:

  • The Dockerfiles for CentOS 7 are replaced with Dockerfiles for Rocky 9
  • The version of Ubuntu and CUDA is upgraded for the Ubuntu Dockerfiles (from 20.04 to 22.04)
  • The installation of Qt is updated to correctly use the installer for Qt 6

Features list

  • [X] Remove CentOS 7 Dockerfiles and scripts
  • [X] Update Ubuntu Dockerfiles
  • [X] Add new Dockerfiles and scripts for Rocky 9

cbentejac avatar Dec 23 '24 17:12 cbentejac

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 77.80%. Comparing base (aeadee5) to head (650d4d1). Report is 49 commits behind head on develop.

:white_check_mark: All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2626      +/-   ##
===========================================
- Coverage    78.57%   77.80%   -0.77%     
===========================================
  Files           48       48              
  Lines         6577     6674      +97     
===========================================
+ Hits          5168     5193      +25     
- Misses        1409     1481      +72     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Dec 23 '24 17:12 codecov[bot]

Thank you for this great PR.

I am new to Meshroom, I would like to know more about the Docker infrastructure design and eventually contribute to the project as well.

For AliceVision and Meshroom, why are we using a dl folder and use wget --no-check-certificate "https://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run in the build-*.sh scripts?

Why not directly include those calls in the Dockerfile? It would improve the isolation and avoid unnecessary Build Context.

I am happy to create a PR if needed.

sebastienmascha avatar Jan 22 '25 08:01 sebastienmascha

Why not add the environment variables inside the docker as well?

export ALICEVISION_ROOT=/opt/AliceVision_install
export ALICEVISION_SENSOR_DB=/opt/AliceVision_install/share/aliceVision/cameraSensors.db
export ALICEVISION_VOCTREE=/opt/AliceVision_install/share/aliceVision/vlfeat_K80L3.SIFT.tree
export ALICEVISION_SPHERE_DETECTION_MODEL=/opt/AliceVision_install/share/aliceVision/sphereDetection_Mask-RCNN.onnx
export ALICEVISION_SEMANTIC_SEGMENTATION_MODEL=/opt/AliceVision_install/share/aliceVision/fcn_resnet50.onnx
export PATH=$PATH:/opt/AliceVision_install/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/AliceVision_install/lib

sebastienmascha avatar Jan 22 '25 14:01 sebastienmascha

@cbentejac since alicevision uses the 22.04 image now and these changes seem due, do you think these will be merged in the near future?

hiaselhans avatar May 21 '25 19:05 hiaselhans

@cbentejac do you think this PR will make it in the develop branch anytime soon?

hiaselhans avatar May 28 '25 06:05 hiaselhans

@cbentejac @nicolas-lambert-tc

I don't know how you build, but Alicevision already uses these Images, so i think it Meshroom should follow like it is intended in this PR. Is there any blocker i could help to address so it can be merged?

hiaselhans avatar Jun 04 '25 13:06 hiaselhans

Hi @hiaselhans,

Yes, this PR will be merged soon! I need to slightly rework it before we do, though. I'm converting it to "draft" until then.

cbentejac avatar Jun 04 '25 14:06 cbentejac