# syntax=docker/dockerfile:1 FROM jayfield/debian-baseimage AS build_base # ---------------------------------------------------------------------------------------------------------------------------------------- RUN apt-get update && \ apt-get -y install --no-install-recommends \ 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 \ gpsd gpsd-clients \ && rm -rf /var/lib/apt/lists/* # ---------------------------------------------------------------------------------------------------------------------------------------- # Build from sources # ---------------------------------------------------------------------------------------------------------------------------------------- FROM build_base AS build RUN apt-get update && \ apt-get -y install --no-install-recommends openssh-server udev libavahi-common-dev libavahi-core-dev libavahi-client-dev \ && rm -rf /var/lib/apt/lists/* # 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 # SoapyRemote ADD https://github.com/pothosware/SoapyRemote.git /tmp/sources/SoapyRemote WORKDIR /tmp/sources/SoapyRemote/build RUN cmake -DENABLE_AVAHI=ON .. RUN make -j$(nproc) RUN make install -j$(nproc) RUN ldconfig # UHD ADD https://github.com/EttusResearch/uhd.git /tmp/sources/uhd WORKDIR /tmp/sources/uhd/host/build RUN cmake \ -DENABLE_PYTHON_API=OFF \ -DENABLE_EXAMPLES=OFF \ -DENABLE_TESTS=OFF \ -DENABLE_E320=OFF \ -DENABLE_E300=OFF \ -DINSTALL_UDEV_RULES=OFF \ .. RUN make -j$(nproc) RUN make test RUN make install RUN ldconfig RUN /usr/local/bin/uhd_images_downloader -t usrp1 RUN /usr/local/bin/uhd_images_downloader -t b2xx # 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 # SDRPlay API WORKDIR /tmp/sources COPY bin/SDRplay_RSP_API-Linux-3.15.2.run /tmp/sources/ RUN chmod +x SDRplay_RSP_API-Linux-3.15.2.run RUN ./SDRplay_RSP_API-Linux-3.15.2.run --noexec --target sdrplay_api WORKDIR ./sdrplay_api COPY bin/install_lib.patch . RUN patch install_lib.sh install_lib.patch RUN ./install_lib.sh # SoapySDRPlay ADD https://github.com/pothosware/SoapySDRPlay.git /tmp/sources/SoapySDRPlay WORKDIR /tmp/sources/SoapySDRPlay/build RUN cmake ../ RUN make -j$(nproc) RUN make install -j$(nproc) RUN ldconfig # ---------------------------------------------------------------------------------------------------------------------------------------- # Add user RUN useradd -m jens -p jens -s /usr/bin/bash RUN echo jens:change_me | chpasswd RUN echo root:root4me | 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 10022 EXPOSE 10022 # Start server ENTRYPOINT ["/opt/scripts/server_start.sh", "/opt/scripts/server.sh"]