106 lines
3.3 KiB
Docker
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"]
|