This commit is contained in:
30
Dockerfile
30
Dockerfile
@ -1,5 +1,3 @@
|
||||
ARG UI_MODE=cli
|
||||
|
||||
# Donwnload stage
|
||||
FROM ubuntu:18.04 AS download
|
||||
ENV DEBIAN_FRONTEND=noninteractive TZ=Europe/Berlin
|
||||
@ -33,44 +31,35 @@ RUN git clone https://github.com/MOVE-II/move2radio.git && \
|
||||
|
||||
|
||||
# Base stage with deps
|
||||
FROM ubuntu:18.04 AS base-cli
|
||||
FROM ubuntu:18.04 AS base
|
||||
ENV DEBIAN_FRONTEND=noninteractive TZ=Europe/Berlin
|
||||
|
||||
# Setup build deps
|
||||
RUN apt-get update && \
|
||||
apt-get -y install --no-install-recommends build-essential git cmake autoconf automake unzip libtool-bin pkgconf libssl-dev \
|
||||
python2.7 python-pip python3 python3-pip python-cheetah libcppunit-dev swig uuid-dev libusb-1.0-0-dev \
|
||||
python-mako libzmq3-dev libcomedi-dev python-sip-dev python-six socat && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
# Base stage with GUI deps
|
||||
FROM base-cli as base-gui
|
||||
|
||||
# Setup grc and gui deps
|
||||
RUN apt-get update && \
|
||||
apt-get -y install --no-install-recommends python-numpy python-wxgtk3.0 libzmq3-dev \
|
||||
python-mako libzmq3-dev libcomedi-dev python-sip-dev python-six socat \
|
||||
python-numpy python-wxgtk3.0 libzmq3-dev \
|
||||
libqt4-opengl-dev python-qt4 libqwt-dev python-gtk2 python-lxml && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
# Build stage
|
||||
FROM base-${UI_MODE} AS build
|
||||
FROM base AS build
|
||||
|
||||
# Copy sources
|
||||
COPY --from=download /app /app
|
||||
|
||||
# Build sources
|
||||
WORKDIR /app/move2radio
|
||||
ARG UI_MODE=cli
|
||||
COPY build/CMakeLists.${UI_MODE}.txt /app/move2radio/CMakeLists.txt
|
||||
COPY build/CMakeLists.txt /app/move2radio/CMakeLists.txt
|
||||
RUN mkdir build && cd build && \
|
||||
cmake -DAPPIMAGE=OFF -DCONDA_ENV=OFF -DLDPC_OFFLINE=ON -DGR_CCSDS_OFFLINE=ON -DOFFLINE_DEPENDENCY_PATH=/app/move2radio-prop .. && \
|
||||
make move2radio
|
||||
|
||||
|
||||
# Run stage
|
||||
FROM base-${UI_MODE} AS run
|
||||
FROM base AS run
|
||||
|
||||
# Copy sources from build stage
|
||||
COPY --from=build /app/move2radio/build/prefix/usr /app/move2radio/build/prefix/usr
|
||||
@ -82,9 +71,8 @@ ENV PATH="/app/move2radio/build/prefix/usr/bin:${PATH}" \
|
||||
# Install binaries
|
||||
COPY build/blocks/* app/move2radio/build/prefix/usr/share/gnuradio/grc/blocks/
|
||||
COPY build/fakeserver/* /app/fakeserver/
|
||||
ARG UI_MODE=cli
|
||||
COPY build/run-${UI_MODE}.sh /app/run.sh
|
||||
COPY build/run*.sh /app/
|
||||
RUN chmod 644 app/move2radio/build/prefix/usr/share/gnuradio/grc/blocks/*.xml && \
|
||||
chmod +x /app/run.sh && ldconfig
|
||||
chmod +x /app/run*.sh && ldconfig
|
||||
|
||||
ENTRYPOINT ["/app/run.sh"]
|
||||
ENTRYPOINT ["/app/run-cli.sh"]
|
Reference in New Issue
Block a user