# Copyright 2022-2025 Overte e.V. # SPDX-License-Identifier: Apache-2.0 # Docker file for building Overte Server # Example build: docker build --no-cache -t overte/overte-server-build:0.1.7-rockylinux-9-amd64 -f Dockerfile_build_rockylinux-9 . FROM rockylinux:9 LABEL maintainer="Julian Groß (julian.gro@overte.org)" LABEL description="Development image for Overte Domain server and assignment clients." # Add required Rocky Linux tools RUN dnf -y install dnf-utils # Add "Extra Packages for Enterprise Linux" repository RUN dnf -y install epel-release # Add "Code Ready Builder" repository RUN dnf config-manager --enable crb # Install Overte domain-server and assignment-client build dependencies # Work around an issue with aarch64 shipping curl-minimal and us requesting curl by allowing dnf to use erase curl-minimal. RUN dnf -y --allowerasing install curl ninja-build git cmake gcc-c++ openssl-devel qt5-qtwebsockets-devel qt5-qtmultimedia-devel unzip libXext-devel qt5-qtwebchannel-devel qt5-qtwebengine-devel qt5-qtxmlpatterns-devel systemd-devel python3-packaging # Install additional build tools RUN dnf -y install zip unzip # Install tools for package creation RUN dnf -y install chrpath rpmdevtools # Install tools needed for our Github Actions Workflow RUN dnf -y install python3-boto3 python3-github # Install Conan RUN dnf -y install python3-pip RUN pip3 install conan # Install Python 2 which is required for building Qt Webengine 5.15.x RUN curl -L -O https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz RUN tar xf Python-2.7.18.tar.xz RUN rm Python-2.7.18.tar.xz RUN cd Python-2.7.18 && ./configure --prefix=/usr/local --enable-shared --enable-unicode=ucs4 && make -j8 && make altinstall RUN ln -s /usr/local/bin/python2.7 /usr/local/bin/python2 ENV LD_LIBRARY_PATH="/usr/local/lib:/usr/local/bin/python2.7:$LD_LIBRARY_PATH" ENV PATH="/usr/local/bin/python2:$PATH"