innernet/docker-tests/Dockerfile.innernet

35 lines
1.3 KiB
Docker

####################################################################################################
## WireGuard
####################################################################################################
FROM golang:bookworm as wireguard
ARG wg_go_tag=0.0.20230223
ARG wg_tools_tag=v1.0.20210914
RUN mkdir /repo \
&& curl -L https://github.com/WireGuard/wireguard-go/archive/refs/tags/0.0.20230223.tar.gz \
| tar -xzC /repo --strip-components=1 \
&& cd /repo \
&& CGO_ENABLED=0 make
####################################################################################################
## Final image
####################################################################################################
FROM rust:slim-bookworm
RUN apt-get update && \
apt-get install -y --no-install-recommends libsqlite3-dev iproute2 iputils-ping build-essential clang libclang-dev && \
rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
RUN cargo build \
&& strip /app/target/debug/innernet /app/target/debug/innernet-server \
&& cp /app/target/debug/innernet /app/target/debug/innernet-server /usr/bin/ \
&& cargo clean
COPY ./docker-tests/start-client.sh ./
COPY ./docker-tests/start-server.sh ./
COPY --from=wireguard /repo/wireguard-go /usr/bin/
CMD ["/app/start-server.sh"]