2024-08-23 12:15:39 +08:00
|
|
|
# Pull from small Debian stable image.
|
2024-08-25 09:02:34 +08:00
|
|
|
FROM alpine:latest AS builder
|
|
|
|
|
2024-08-23 12:15:39 +08:00
|
|
|
LABEL maintainer="dselen@nerthus.nl"
|
|
|
|
|
2024-08-24 05:49:54 +08:00
|
|
|
WORKDIR /opt/wireguarddashboard/src
|
2024-08-25 09:02:34 +08:00
|
|
|
|
2024-08-23 12:15:39 +08:00
|
|
|
RUN apk update && \
|
2024-08-25 09:02:34 +08:00
|
|
|
apk add --no-cache sudo gcc musl-dev rust cargo linux-headers
|
|
|
|
|
|
|
|
COPY ./docker/alpine/builder.sh /opt/wireguarddashboard/src/
|
|
|
|
COPY ./docker/alpine/requirements.txt /opt/wireguarddashboard/src/
|
|
|
|
RUN chmod u+x /opt/wireguarddashboard/src/builder.sh
|
|
|
|
RUN /opt/wireguarddashboard/src/builder.sh
|
|
|
|
|
|
|
|
|
|
|
|
FROM alpine:latest
|
|
|
|
WORKDIR /opt/wireguarddashboard/src
|
2024-08-24 19:45:13 +08:00
|
|
|
|
2024-08-24 05:49:54 +08:00
|
|
|
COPY ./src /opt/wireguarddashboard/src/
|
2024-08-25 09:02:34 +08:00
|
|
|
COPY --from=builder /opt/wireguarddashboard/src/venv /opt/wireguarddashboard/src/venv
|
|
|
|
COPY --from=builder /opt/wireguarddashboard/src/log /opt/wireguarddashboard/src/log/
|
2024-08-23 12:15:39 +08:00
|
|
|
|
2024-08-25 09:02:34 +08:00
|
|
|
RUN apk update && \
|
|
|
|
apk add --no-cache wireguard-tools sudo && \
|
|
|
|
apk add --no-cache iptables ip6tables && \
|
|
|
|
chmod u+x /opt/wireguarddashboard/src/entrypoint.sh
|
|
|
|
|
2024-08-23 12:15:39 +08:00
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 CMD curl -f http://localhost:10086/signin || exit 1
|
|
|
|
|
2024-08-24 05:49:54 +08:00
|
|
|
ENTRYPOINT ["/opt/wireguarddashboard/src/entrypoint.sh"]
|