kopia lustrzana https://github.com/projecthorus/radiosonde_auto_rx
67 wiersze
1.6 KiB
Docker
67 wiersze
1.6 KiB
Docker
# -------------------
|
|
# The build container
|
|
# -------------------
|
|
FROM debian:buster-slim AS build
|
|
|
|
# Update system packages and install build dependencies.
|
|
RUN apt-get update && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y \
|
|
build-essential \
|
|
python3 \
|
|
python3-crcmod \
|
|
python3-dateutil \
|
|
python3-flask \
|
|
python3-numpy \
|
|
python3-pip \
|
|
python3-requests && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy in radiosonde_auto_rx
|
|
COPY . /root/radiosonde_auto_rx
|
|
|
|
# Install additional Python packages that aren't available through apt-get.
|
|
RUN /usr/bin/pip3 --no-cache-dir install -r /root/radiosonde_auto_rx/auto_rx/requirements.txt
|
|
|
|
# Build the binaries.
|
|
RUN cd /root/radiosonde_auto_rx/auto_rx && \
|
|
/bin/sh build.sh
|
|
|
|
# -------------------------
|
|
# The application container
|
|
# -------------------------
|
|
FROM debian:buster-slim
|
|
EXPOSE 5000/tcp
|
|
|
|
# Update system packages and install application dependencies.
|
|
RUN apt-get update && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y \
|
|
python3 \
|
|
python3-crcmod \
|
|
python3-dateutil \
|
|
python3-flask \
|
|
python3-numpy \
|
|
python3-requests \
|
|
rng-tools \
|
|
rtl-sdr \
|
|
sox \
|
|
tini \
|
|
usbutils && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copy any additional Python packages from the build container.
|
|
COPY --from=build /usr/local/lib/python3.7/dist-packages /usr/local/lib/python3.7/dist-packages
|
|
|
|
# Copy auto_rx from the build container to /opt.
|
|
COPY --from=build /root/radiosonde_auto_rx/auto_rx /opt/auto_rx
|
|
|
|
# Set the working directory.
|
|
WORKDIR /opt/auto_rx
|
|
|
|
# Use tini as init.
|
|
ENTRYPOINT ["/usr/bin/tini", "--"]
|
|
|
|
# Run auto_rx.py.
|
|
CMD ["/usr/bin/python3", "/opt/auto_rx/auto_rx.py"]
|