FROM amazonlinux:2 AS builder LABEL maintainer="Mike Crute " ARG VERSION ARG REGION RUN set -euxo pipefail; \ echo "${REGION}" > /etc/yum/vars/awsregion; \ amazon-linux-extras install -y kernel-ng; \ yum install -y \ libmnl-devel \ libmnl-static \ glibc-static \ elfutils-libelf-devel \ kernel-devel \ pkgconfig \ "@Development Tools" \ ; \ curl -Ls https://git.zx2c4.com/WireGuard/snapshot/WireGuard-${VERSION}.tar.xz | tar -xJC /usr/src; \ cd /usr/src/WireGuard-${VERSION}/src; \ \ make module; \ make LDFLAGS="-static" tools FROM amazonlinux:2 LABEL maintainer="Mike Crute " ARG VERSION COPY --from=builder /usr/src/WireGuard-${VERSION}/ /tmp/WireGuard-${VERSION}/ RUN set -euxo pipefail; \ yum install -y kmod; \ \ mkdir -p /opt/wireguard; \ cp /tmp/WireGuard-${VERSION}/src/wireguard.ko /opt/wireguard; \ \ cd /tmp/WireGuard-${VERSION}/src; \ \ install -v -d "/usr/bin"; \ install -v -d "/usr/share/man/man8"; \ install -v -m 0755 tools/wg "/usr/bin/wg"; \ install -v -m 0644 tools/man/wg.8 "/usr/share/man/man8/wg.8"; \ \ install -v -m 0700 -d "/etc/wireguard"; \ install -v -m 0755 tools/wg-quick/linux.bash "/usr/bin/wg-quick"; \ install -v -m 0644 tools/man/wg-quick.8 "/usr/share/man/man8/wg-quick.8"; \ \ yum clean all; \ rm -rf /tmp/WireGuard-${VERSION} /var/cache/yum ADD entrypoint.sh / ENTRYPOINT [ "/entrypoint.sh" ] CMD [ "sleep", "infinity" ]