# docker build -f docker/Dockerfile-colmap -t chenhsuanlin/colmap:3.8 .
# docker push chenhsuanlin/colmap:3.8

FROM nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu20.04
ARG DEBIAN_FRONTEND=noninteractive

# colmap dependencies
RUN apt-get update && apt-get install -y \
    git \
    cmake \
    ninja-build \
    build-essential \
    libboost-program-options-dev \
    libboost-filesystem-dev \
    libboost-graph-dev \
    libboost-system-dev \
    libboost-test-dev \
    libeigen3-dev \
    libflann-dev \
    libfreeimage-dev \
    libmetis-dev \
    libgoogle-glog-dev \
    libgflags-dev \
    libsqlite3-dev \
    libglew-dev \
    qtbase5-dev \
    libqt5opengl5-dev \
    libcgal-dev \
    libceres-dev
# headless servers
RUN apt-get update && apt-get install -y \
    xvfb
# Colmap
RUN git clone https://github.com/colmap/colmap.git && cd colmap && git checkout 3.8
RUN cd colmap && mkdir build && cd build && cmake .. -DCUDA_ENABLED=ON -DCMAKE_CUDA_ARCHITECTURES="70;72;75;80;86" -GNinja
RUN cd colmap/build && ninja && ninja install

# additional python packages
RUN apt-get update && apt-get install -y \
    pip \
    ffmpeg
RUN pip install \
    addict \
    k3d \
    opencv-python-headless \
    pillow \
    plotly \
    pyyaml \
    trimesh
