FROM rust:1.32-slim AS eventbuild WORKDIR /build COPY wg-event-gen/Cargo.* /build/ RUN mkdir -p src && echo "fn main() {}" > src/main.rs && cargo build --release COPY wg-event-gen/ /build RUN cargo build --release FROM golang AS build COPY wireguard-go /go/src/wireguard WORKDIR /go/src/wireguard RUN echo "package main" > ./donotuseon_linux.go && go get RUN go build FROM frolvlad/alpine-glibc RUN echo http://nl.alpinelinux.org/alpine/edge/testing >> /etc/apk/repositories && apk --no-cache add wireguard-tools bash nload ENV WG_I_PREFER_BUGGY_USERSPACE_TO_POLISHED_KMOD=1 COPY --from=build /go/bin/wireguard /usr/bin/wireguard-go COPY --from=eventbuild /build/target/release/wg-event-gen /usr/bin/ COPY init.sh /init.sh RUN chmod +x /init.sh VOLUME /etc/wireguard/ EXPOSE 51820/udp ENTRYPOINT /init.sh