Files
jens 157c3dfc54 [SoapyRemote]
- build with AVAHI support
2024-08-23 15:11:43 +02:00

106 lines
3.3 KiB
Docker

# 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 \
&& 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"]