# Copyright 2022-2025 Overte e.V. # SPDX-License-Identifier: Apache-2.0 # Docker file for building Overte # Example build: docker build --no-cache -t overte/overte-full-build:0.1.7-ubuntu-22.04-amd64 -f Dockerfile_build_ubuntu-22.04 . FROM ubuntu:22.04 LABEL maintainer="Julian Groß (julian.gro@overte.org)" LABEL description="Development image for full Overte builds" # Use bash instead of sh SHELL ["/bin/bash", "-c"] # Don't use any frontend when installing packages during the creation of this container ARG DEBIAN_FRONTEND=noninteractive RUN echo UTC >/etc/timezone # Installing via dependency causes interactive hang: RUN apt-get update && apt-get -y install tzdata # Install CMake from Kitware RUN apt-get update RUN apt-get -y install ca-certificates gpg wget RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null RUN apt-get update RUN rm /usr/share/keyrings/kitware-archive-keyring.gpg && apt-get -y install kitware-archive-keyring RUN apt-get -y install cmake # Install Conan RUN if [ $(uname -m) = "x86_64" ]; then \ wget -O conan.deb https://github.com/conan-io/conan/releases/download/2.16.1/conan-2.16.1-amd64.deb ; \ elif [ $(uname -m) = "aarch64" ]; then \ wget -O conan.deb https://github.com/conan-io/conan/releases/download/2.16.1/conan-2.16.1-arm64.deb ; \ else \ echo "Unsupported architecture: $(uname -m)"; \ fi RUN apt-get -y install ./conan.deb # Install Overte domain-server and assignment-client build dependencies RUN apt-get -y install curl ninja-build git cmake g++ libssl-dev libqt5websockets5-dev qtscript5-dev qtdeclarative5-dev qtmultimedia5-dev python3-distutils python3-distro mesa-common-dev libgl1-mesa-dev libsystemd-dev python3-packaging # Install Overte tools build dependencies RUN apt-get -y install libqt5webchannel5-dev qtwebengine5-dev libqt5xmlpatterns5-dev # Install Overte Interface build dependencies RUN apt-get -y install libqt5svg5-dev qttools5-dev vulkan-validationlayers libvulkan-dev libvulkan1 libqt5x11extras5-dev qtbase5-private-dev libxcb-glx0-dev libqt5multimedia5-plugins # Install Interface runtime dependencies RUN apt-get -y install qt5-image-formats-plugins # Install server-console build dependencies RUN apt-get -y install npm # Install tools for package creation RUN apt-get -y install sudo chrpath binutils dh-make # Install locales package RUN apt-get -y install locales # Uncomment en_US.UTF-8 for inclusion in generation RUN sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen # Generate locale RUN locale-gen # Export env vars RUN echo "export LC_ALL=en_US.UTF-8" >> ~/.bashrc RUN echo "export LANG=en_US.UTF-8" >> ~/.bashrc RUN echo "export LANGUAGE=en_US.UTF-8" >> ~/.bashrc # Install tools needed for our Github Actions Workflow RUN apt-get -y install python3-boto3 python3-github zip