mirror of
https://github.com/craigerl/aprsd.git
synced 2024-11-14 12:22:20 -05:00
71 lines
2.0 KiB
Plaintext
71 lines
2.0 KiB
Plaintext
# syntax=docker/dockerfile:1
|
|
FROM ubuntu:22.04
|
|
|
|
# Dockerfile for building a container during aprsd development.
|
|
ARG BRANCH=master
|
|
ARG UID
|
|
ARG GID
|
|
|
|
ARG BUILDX_QEMU_ENV
|
|
|
|
ENV APRS_USER=aprs
|
|
ENV HOME=/home/aprs
|
|
ENV APRSD=http://github.com/craigerl/aprsd.git
|
|
ENV APRSD_BRANCH=${BRANCH:-master}
|
|
ENV VIRTUAL_ENV=$HOME/.venv3
|
|
ENV UID=${UID:-1000}
|
|
ENV GID=${GID:-1000}
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV INSTALL=$HOME/install
|
|
RUN apt update
|
|
RUN apt install -y --no-install-recommends git build-essential bash fortune
|
|
RUN apt install -y libffi-dev python3-dev libssl-dev libxml2-dev libxslt-dev
|
|
RUN apt install -y python3 python3-pip python3-dev python3-lxml
|
|
#RUN apt-get clean
|
|
RUN apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall netbase
|
|
|
|
RUN addgroup --gid 1001 $APRS_USER
|
|
RUN useradd -m -u $UID -g $APRS_USER $APRS_USER
|
|
|
|
ENV LC_ALL=C.UTF-8
|
|
ENV LANG=C.UTF-8
|
|
|
|
WORKDIR $HOME
|
|
USER $APRS_USER
|
|
RUN pip install wheel
|
|
#RUN python3 -m venv $VIRTUAL_ENV
|
|
#ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
|
RUN echo "export PATH=\$PATH:\$HOME/.local/bin" >> $HOME/.bashrc
|
|
RUN cat $HOME/.bashrc
|
|
|
|
USER root
|
|
WORKDIR $HOME
|
|
# Handle an extremely specific issue when building the cryptography package for
|
|
# 32-bit architectures within QEMU running on a 64-bit host (issue #30).
|
|
RUN if [ "${BUILDX_QEMU_ENV}" = "true" -a "$(getconf LONG_BIT)" = "32" ]; then \
|
|
pip3 install -U cryptography==3.3.2; \
|
|
else \
|
|
pip3 install cryptography ;\
|
|
fi
|
|
RUN mkdir $INSTALL
|
|
RUN git clone -b $BRANCH $APRSD $INSTALL/aprsd
|
|
RUN cd $INSTALL/aprsd && pip3 install -v .
|
|
RUN ls -al /usr/local/bin
|
|
RUN ls -al /usr/bin
|
|
RUN which aprsd
|
|
RUN mkdir -p /config
|
|
RUN aprsd sample-config > /config/aprsd.conf
|
|
RUN chown -R $APRS_USER:$APRS_USER /config
|
|
|
|
# override this to run another configuration
|
|
ENV CONF default
|
|
USER $APRS_USER
|
|
VOLUME ["/config", "/plugins"]
|
|
|
|
ADD bin/run.sh $HOME/
|
|
ENTRYPOINT ["/home/aprs/run.sh"]
|
|
|
|
HEALTHCHECK --interval=5m --timeout=12s --start-period=30s \
|
|
CMD aprsd healthcheck --config /config/aprsd.conf
|