Files
openairinterface5g/tools/docker-dev-env/Dockerfile
T
Bartosz Podrygajlo 8ca0a80d17 Dockerized development environment
This commit introduces a fully dockerized dev env you can start on any
machine that has docker without installing any direct OAI dependencies
on host.

This allows to migrate development environments between machines easily. Several
complementary scripts were added to enable smooth transition between your docker
environment and host environment. Your user and sudo should work inside the
environment.
2025-01-31 07:50:01 +01:00

42 lines
1.5 KiB
Docker

FROM ran-base:latest
ARG USERNAME=root
ARG USER_UID=1000
ARG USER_GID=1000
# More developer tools can be added here
RUN apt update && apt install -y vim sudo wget meson ninja-build libnuma-dev ccache
# Create the user
RUN groupadd --gid $USER_GID $USERNAME \
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
&& chmod 0440 /etc/sudoers.d/$USERNAME
## Download and build DPDK
RUN cd /oai-ran && \
wget http://fast.dpdk.org/rel/dpdk-20.11.9.tar.xz && \
tar -xvf dpdk-20.11.9.tar.xz && \
cd dpdk-stable-20.11.9 && \
meson build && \
ninja -C build && \
ninja install -C build
## Build Fronthaul library
COPY cmake_targets/tools/oran_fhi_integration_patches/F/oaioran_F.patch /oaioran_F.patch
RUN git clone https://gerrit.o-ran-sc.org/r/o-du/phy.git /opt/phy && \
cd /opt/phy && \
git checkout oran_f_release_v1.0 &&\
git apply /oaioran_F.patch && \
cd /opt/phy/fhi_lib/lib && \
WIRELESS_SDK_TOOLCHAIN=gcc RTE_SDK=/oai-ran/dpdk-stable-20.11.9/ XRAN_DIR=/opt/phy/fhi_lib make XRAN_LIB_SO=1
ENV xran_LOCATION=/opt/phy/fhi_lib/lib/
# This is a temporary solution to issue with apt: one of the installed packages creates a group that may
# not be present in the host: remove the group entry to allow apt usage in container
RUN dpkg-statoverride --remove /usr/bin/uml_net
# Override ccache directory to avoid permission issues
ENV CCACHE_DIR=/home/$USERNAME/.cache/ccache-oai-dev-env
USER $USERNAME