aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorRobbie Trencheny <me@robbiet.us>2021-03-25 16:26:41 -0700
committerRobbie Trencheny <me@robbiet.us>2021-03-25 16:26:41 -0700
commit805a5a820ef0455843987cbedd97e555d4683b99 (patch)
treece650b48aea043d23a72f6835f49d549b0cd530d /Dockerfile
parentbde84b3049cb84d2063e4059fc59950d7bf35440 (diff)
Unified Dockerfile that gets builds working on armv7 and optimizes deps
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile42
1 files changed, 40 insertions, 2 deletions
diff --git a/Dockerfile b/Dockerfile
index c2367f16..b8985c8c 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,11 +1,49 @@
-FROM robotastic/gnuradio:nightly
+FROM ubuntu:20.04 AS base
+
+# Install everything except cmake
+RUN apt-get update && \
+ apt-get -y upgrade &&\
+ export DEBIAN_FRONTEND=noninteractive && \
+ apt-get install -y \
+ apt-transport-https \
+ build-essential \
+ ca-certificates \
+ fdkaac \
+ git \
+ gnupg \
+ gnuradio \
+ gnuradio-dev \
+ gr-osmosdr \
+ libboost-all-dev \
+ libcurl4-openssl-dev \
+ libgmp-dev \
+ libhackrf-dev \
+ liborc-0.4-dev \
+ libpthread-stubs0-dev \
+ libssl-dev \
+ libuhd-dev \
+ libusb-dev \
+ pkg-config \
+ software-properties-common \
+ sox && \
+ rm -rf /var/lib/apt/lists/*
+
+# Need to install newer cmake than what's in Ubuntu repo to build armv7 due to this:
+# https://gitlab.kitware.com/cmake/cmake/-/issues/20568
+RUN curl https://apt.kitware.com/keys/kitware-archive-latest.asc | gpg --dearmor - | tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null && \
+ apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' && \
+ apt-get update && \
+ export DEBIAN_FRONTEND=noninteractive && apt-get install -y cmake && rm -rf /var/lib/apt/lists/*
WORKDIR /src
COPY . .
-RUN cmake . && make && cp recorder /recorder
+RUN cmake . && make -j`nproc` && cp recorder /recorder
USER nobody
+# GNURadio requires a place to store some files, can only be set via $HOME env var.
+ENV HOME=/tmp
+
CMD ["/recorder", "--config=/app/config.json"]