1
0
mirror of https://github.com/craigerl/aprsd.git synced 2024-11-29 03:18:39 -05:00

Updated Dockerfile's and build script for docker

This commit is contained in:
Hemna 2021-11-09 08:15:16 -05:00
parent ffdd1e47b2
commit 059cc86a11
4 changed files with 39 additions and 21 deletions

View File

@ -1,4 +1,5 @@
FROM python:3-bullseye as aprsd #FROM python:3-bullseye as aprsd
FROM ubuntu:focal as aprsd
# Dockerfile for building a container during aprsd development. # Dockerfile for building a container during aprsd development.
@ -13,22 +14,17 @@ ENV GID=${GID:-1000}
ENV LC_ALL=C.UTF-8 ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8 ENV LANG=C.UTF-8
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update RUN apt update
RUN apt install -y git build-essential RUN apt install -y git build-essential
RUN apt install -y libffi-dev python3-dev libssl-dev RUN apt install -y libffi-dev python3-dev libssl-dev libxml2-dev libxslt-dev
#RUN apt-get install -y apt-utils RUN apt install -y python3 python3-pip python3-dev python3-lxml
#RUN apt-get install -y pkg-config
#RUN apt upgrade -y
#RUN apk add --update git wget bash
#RUN apk add --update gcc linux-headers musl-dev libffi-dev libc-dev
#RUN apk add --update openssl-dev
#RUN add cmd:pip3 lsb-release
RUN addgroup --gid $GID $APRS_USER RUN addgroup --gid $GID $APRS_USER
RUN useradd -m -u $UID -g $APRS_USER $APRS_USER RUN useradd -m -u $UID -g $APRS_USER $APRS_USER
# Install aprsd # Install aprsd
RUN /usr/local/bin/pip3 install aprsd==2.3.1 RUN pip install aprsd
# Ensure /config is there with a default config file # Ensure /config is there with a default config file
USER root USER root
@ -43,3 +39,6 @@ VOLUME ["/config", "/plugins"]
USER $APRS_USER USER $APRS_USER
ADD bin/run.sh /usr/local/bin ADD bin/run.sh /usr/local/bin
ENTRYPOINT ["/usr/local/bin/run.sh"] ENTRYPOINT ["/usr/local/bin/run.sh"]
HEALTHCHECK --interval=5m --timeout=12s --start-period=30s \
CMD aprsd healthcheck --config /config/aprsd.yml --url http://localhost:8001/stats

View File

@ -1,4 +1,5 @@
FROM python:3.8-slim as aprsd # syntax=docker/dockerfile:1
FROM ubuntu:focal as aprsd
# Dockerfile for building a container during aprsd development. # Dockerfile for building a container during aprsd development.
ARG branch ARG branch
@ -13,11 +14,14 @@ ENV VIRTUAL_ENV=$HOME/.venv3
ENV UID=${UID:-1000} ENV UID=${UID:-1000}
ENV GID=${GID:-1000} ENV GID=${GID:-1000}
ENV DEBIAN_FRONTEND=noninteractive
ENV INSTALL=$HOME/install ENV INSTALL=$HOME/install
RUN apt update RUN apt update
RUN apt install -y git build-essential RUN apt install -y --no-install-recommends git build-essential bash fortune
RUN apt install -y libffi-dev python3-dev libssl-dev RUN apt install -y libffi-dev python3-dev libssl-dev libxml2-dev libxslt-dev
RUN apt install -y bash fortune 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 addgroup --gid 1001 $APRS_USER
RUN useradd -m -u $UID -g $APRS_USER $APRS_USER RUN useradd -m -u $UID -g $APRS_USER $APRS_USER
@ -25,17 +29,21 @@ RUN useradd -m -u $UID -g $APRS_USER $APRS_USER
ENV LC_ALL=C.UTF-8 ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8 ENV LANG=C.UTF-8
WORKDIR $HOME
USER $APRS_USER USER $APRS_USER
RUN pip3 install wheel RUN pip install wheel
#RUN python3 -m venv $VIRTUAL_ENV #RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH" #ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN echo "export PATH=\$PATH:\$HOME/.local/bin" >> $HOME/.bashrc RUN echo "export PATH=\$PATH:\$HOME/.local/bin" >> $HOME/.bashrc
RUN cat $HOME/.bashrc
USER root USER root
WORKDIR $HOME WORKDIR $HOME
RUN mkdir $INSTALL RUN mkdir $INSTALL
RUN git clone -b $APRSD_BRANCH $APRSD $INSTALL/aprsd RUN git clone -b $APRSD_BRANCH $APRSD $INSTALL/aprsd
RUN cd $INSTALL/aprsd && pip3 install . RUN cd $INSTALL/aprsd && pip3 install -v .
RUN ls -al /usr/local/bin
RUN ls -al /usr/bin
RUN which aprsd RUN which aprsd
RUN mkdir -p /config RUN mkdir -p /config
RUN aprsd sample-config > /config/aprsd.yml RUN aprsd sample-config > /config/aprsd.yml
@ -48,3 +56,6 @@ VOLUME ["/config", "/plugins"]
ADD bin/run.sh $HOME/ ADD bin/run.sh $HOME/
ENTRYPOINT ["/home/aprs/run.sh"] ENTRYPOINT ["/home/aprs/run.sh"]
HEALTHCHECK --interval=5m --timeout=12s --start-period=30s \
CMD aprsd healthcheck --config /config/aprsd.yml --url http://localhost:8001/stats

View File

@ -20,4 +20,4 @@ if [ ! -e "$APRSD_CONFIG" ]; then
aprsd sample-config > $APRSD_CONFIG aprsd sample-config > $APRSD_CONFIG
fi fi
/usr/local/bin/aprsd server -c $APRSD_CONFIG --loglevel DEBUG exec aprsd server -c $APRSD_CONFIG --loglevel DEBUG

View File

@ -1,6 +1,10 @@
#!/bin/bash #!/bin/bash
# Official docker image build script. # Official docker image build script.
# docker buildx create --name multiarch \
# --platform linux/arm/v7,linux/arm/v6,linux/arm64,linux/amd64 \
# --config ./buildkit.toml --use --driver-opt image=moby/buildkit:master
usage() { usage() {
cat << EOF cat << EOF
@ -40,11 +44,12 @@ do
esac esac
done done
VERSION="2.3.1" VERSION="2.4.2"
if [ $ALL_PLATFORMS -eq 1 ] if [ $ALL_PLATFORMS -eq 1 ]
then then
PLATFORMS="linux/arm/v7,linux/arm/v6,linux/arm64,linux/amd64" PLATFORMS="linux/arm/v7,linux/arm64,linux/amd64"
#PLATFORMS="linux/arm/v7,linux/arm/v6,linux/amd64"
else else
PLATFORMS="linux/amd64" PLATFORMS="linux/amd64"
fi fi
@ -54,8 +59,10 @@ echo "Build with tag=${TAG} BRANCH=${BRANCH} dev?=${DEV} platforms?=${PLATFORMS}
echo "Destroying old multiarch build container" echo "Destroying old multiarch build container"
docker buildx rm multiarch docker buildx rm multiarch
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
echo "Creating new buildx container" echo "Creating new buildx container"
docker buildx create --name multiarch --platform linux/arm/v7,linux/arm/v6,linux/arm64,linux/amd64 --config ./buildkit.toml --use --driver-opt image=moby/buildkit:master docker buildx create --name multiarch --driver docker-container --use --platform linux/arm/v7,linux/arm/v6,linux/arm64,linux/amd64 --config ./buildkit.toml --use --driver-opt image=moby/buildkit:master
docker buildx inspect --bootstrap
if [ $DEV -eq 1 ] if [ $DEV -eq 1 ]
then then
@ -68,6 +75,7 @@ else
# Use this script to locally build the docker image # Use this script to locally build the docker image
echo "Build with tag=${TAG} BRANCH=${BRANCH} platforms?=${PLATFORMS}" echo "Build with tag=${TAG} BRANCH=${BRANCH} platforms?=${PLATFORMS}"
docker buildx build --push --platform $PLATFORMS \ docker buildx build --push --platform $PLATFORMS \
--allow security.insecure \
-t hemna6969/aprsd:$VERSION \ -t hemna6969/aprsd:$VERSION \
-t hemna6969/aprsd:$TAG \ -t hemna6969/aprsd:$TAG \
-t harbor.hemna.com/hemna6969/aprsd:$TAG \ -t harbor.hemna.com/hemna6969/aprsd:$TAG \