dndx-phantun/docker/Dockerfile

42 lines
914 B
Docker
Raw Normal View History

#
# Dockerfile for phantun
#
#
# Build stage
#
FROM rust:alpine AS builder
COPY . /phantun
RUN apk update \
&& apk add --no-cache --virtual .build-deps musl-dev \
&& cd phantun \
&& cargo build --release \
&& strip target/release/server target/release/client \
&& install target/release/server /usr/local/bin/phantun-server \
&& install target/release/client /usr/local/bin/phantun-client \
&& cd - \
&& rm -r phantun \
&& apk del .build-deps \
&& rm -rf /var/cache/apk/*
#
# Runtime stage
#
FROM alpine:3.16
RUN apk update \
&& apk add --no-cache iptables ip6tables tzdata \
&& rm -rf /var/cache/apk/*
COPY --from=builder /usr/local/bin/phantun-server /usr/local/bin/
COPY --from=builder /usr/local/bin/phantun-client /usr/local/bin/
COPY docker/phantun.sh /usr/local/bin/
ENV USE_IPTABLES_NFT_BACKEND=0
ENV RUST_LOG=INFO
ENTRYPOINT ["phantun.sh"]
CMD ["phantun-server", "--help"]