# syntax=docker/dockerfile:1 FROM jayfield/debian-baseimage # ---------------------------------------------------------------------------------------------------------------------------------------- RUN apt-get update && \ apt-get -y install --no-install-recommends openssh-server udev \ autoconf automake build-essential ccache cmake cpufrequtils doxygen ethtool \ g++ git inetutils-tools libboost-all-dev libncurses5 libncurses5-dev libusb-1.0-0 libusb-1.0-0-dev \ libusb-dev python3-dev python3-mako python3-numpy python3-requests python3-scipy python3-setuptools \ python3-ruamel.yaml && \ rm -rf /var/lib/apt/lists/* # ---------------------------------------------------------------------------------------------------------------------------------------- # Build from sources # ---------------------------------------------------------------------------------------------------------------------------------------- # UHD ADD https://github.com/EttusResearch/uhd.git /tmp/sources/uhd WORKDIR /tmp/sources/uhd/host/build RUN cmake ../ RUN make -j$(nproc) RUN make test RUN make install RUN ldconfig RUN cp /usr/local/lib/uhd/utils/uhd-usrp.rules /etc/udev/rules.d/ RUN /usr/local/bin/uhd_images_downloader # SoapySDR ADD https://github.com/pothosware/SoapySDR.git /tmp/sources/SoapySDR WORKDIR /tmp/sources/SoapySDR/build RUN cmake ../ RUN make -j$(nproc) RUN make install -j$(nproc) RUN ldconfig RUN SoapySDRUtil --info # SoapyUHD ADD https://github.com/pothosware/SoapyUHD.git /tmp/sources/SoapyUHD WORKDIR /tmp/sources/SoapyUHD/build RUN cmake ../ RUN make -j$(nproc) RUN make install -j$(nproc) RUN ldconfig ENV UHD_MODULE_PATH=/usr/local/lib/uhd/modules # SoapyRemote ADD https://github.com/pothosware/SoapyRemote.git /tmp/sources/SoapyRemote WORKDIR /tmp/sources/SoapyRemote/build RUN cmake ../ RUN make -j$(nproc) RUN make install -j$(nproc) RUN ldconfig # ToDo: # add SDRPlay API # ADD https://github.com/pothosware/SoapySDRPlay.git RUN rm -rf /tmp/sources # ---------------------------------------------------------------------------------------------------------------------------------------- # Add user RUN useradd -m jens -p jens -s /usr/bin/bash RUN echo jens:change_me | chpasswd WORKDIR /home/jens RUN touch .Xauthority # Copy scripts and configs ENV SCRIPTS_HOME=/opt/scripts ENV PATH=${PATH}:${SCRIPTS_HOME} ADD scripts ${SCRIPTS_HOME} COPY config/sshd_config /etc/ssh/ # Ports EXPOSE 55132 EXPOSE 1900 EXPOSE 10022 # Start server ENTRYPOINT ["/opt/scripts/server_start.sh", "/opt/scripts/server.sh"]