Meshroom/docker/build-ubuntu.sh
Alastair D'Silva f934cb4454 Build working Meshroom images based on the latest Alicevision images
This patch builds upon the AliceVision PR:
https://github.com/alicevision/AliceVision/pull/853

It ensures that Centos images build a functioning Meshroom,
and also adds Ubuntu support.

The Docker images support launch the GUI via ssh:
docker run -it --runtime nvidia -p 2222:22 --name meshroom -v</path/to/your/data>:/data alicevision/meshroom:<meshroom branch/commit>-av<AliceVision branch/commit>-ubuntu20.04-cuda11.0
ssh -p 2222 -X root@<docker host> /opt/Meshroom_bundle/Meshroom # Password is 'meshroom'

The following OS/CUDA versions are supported:
CUDA_VERSION=11.0 UBUNTU_VERSION=20.04
CUDA_VERSION=11.0 UBUNTU_VERSION=18.04
CUDA_VERSION=10.2 UBUNTU_VERSION=18.04
CUDA_VERSION=9.2 UBUNTU_VERSION=18.04

CUDA_VERSION=10.2 CENTOS_VERSION=7
CUDA_VERSION=9.2 CENTOS_VERSION=7

To build all supported images:
AV_VERSION=<AliceVision version> docker/build-all.sh

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2020-09-09 16:46:34 +02:00

37 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
set -e
test -z "$MESHROOM_VERSION" && MESHROOM_VERSION="$(git rev-parse --abbrev-ref HEAD)-$(git rev-parse --short HEAD)"
test -z "$AV_VERSION" && echo "AliceVision version not specified, set AV_VERSION in the environment" && exit 1
test -z "$CUDA_VERSION" && CUDA_VERSION=11.0
test -z "$UBUNTU_VERSION" && UBUNTU_VERSION=20.04
test -d docker || (
echo This script must be run from the top level Meshroom directory
exit 1
)
test -d dl || \
mkdir dl
test -f dl/qt.run || \
"wget https://download.qt.io/archive/qt/5.14/5.14.1/qt-opensource-linux-x64-5.14.1.run" -O "dl/qt.run"
# DEPENDENCIES
docker build \
--rm \
--build-arg "CUDA_VERSION=${CUDA_VERSION}" \
--build-arg "UBUNTU_VERSION=${UBUNTU_VERSION}" \
--build-arg "AV_VERSION=${AV_VERSION}" \
--tag "alicevision/meshroom-deps:${MESHROOM_VERSION}-av${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}" \
-f docker/Dockerfile_ubuntu_deps .
# Meshroom
docker build \
--rm \
--build-arg "MESHROOM_VERSION=${MESHROOM_VERSION}" \
--build-arg "CUDA_VERSION=${CUDA_VERSION}" \
--build-arg "UBUNTU_VERSION=${UBUNTU_VERSION}" \
--build-arg "AV_VERSION=${AV_VERSION}" \
--tag "alicevision/meshroom:${MESHROOM_VERSION}-av${AV_VERSION}-ubuntu${UBUNTU_VERSION}-cuda${CUDA_VERSION}" \
-f docker/Dockerfile_ubuntu .