From 70abfe6fcf90028c3c9f56c55da99ef0347487cb Mon Sep 17 00:00:00 2001 From: Toby Chui Date: Thu, 6 Feb 2025 20:36:23 +0800 Subject: [PATCH] Restore dockerfile - The docker file change shd be included in another PR --- docker/Dockerfile | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 5c3c5cd..2099358 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,27 +1,19 @@ -# Stage 1: Build Zoraxy FROM docker.io/golang:alpine AS build-zoraxy -# Install dependencies RUN mkdir -p /opt/zoraxy/source/ &&\ mkdir -p /usr/local/bin/ +# If you build it yourself, you will need to add the src directory into the docker directory. +COPY ./src/ /opt/zoraxy/source/ + WORKDIR /opt/zoraxy/source/ -# Copy go.mod and go.sum first to leverage Docker cache -COPY ./src/go.mod ./src/go.sum ./ -RUN go mod tidy - -# Copy the rest of the source code -COPY ./src/ . - -# Build the application -RUN go build -o /usr/local/bin/zoraxy &&\ +RUN go mod tidy &&\ + go build -o /usr/local/bin/zoraxy &&\ chmod 755 /usr/local/bin/zoraxy -# Stage 2: Build ZeroTier FROM docker.io/ubuntu:latest AS build-zerotier -# Install dependencies RUN mkdir -p /opt/zerotier/source/ &&\ mkdir -p /usr/local/bin/ @@ -30,7 +22,6 @@ WORKDIR /opt/zerotier/source/ RUN apt-get update -y &&\ apt-get install -y curl jq build-essential pkg-config clang cargo libssl-dev -# Download and build ZeroTier RUN curl -Lo ZeroTierOne.tar.gz https://codeload.github.com/zerotier/ZeroTierOne/tar.gz/refs/tags/1.10.6 &&\ tar -xzvf ZeroTierOne.tar.gz &&\ cd ZeroTierOne-* &&\ @@ -38,24 +29,19 @@ RUN curl -Lo ZeroTierOne.tar.gz https://codeload.github.com/zerotier/ZeroTierOne mv ./zerotier-one /usr/local/bin/zerotier-one &&\ chmod 755 /usr/local/bin/zerotier-one -# Stage 3: Final image FROM docker.io/ubuntu:latest -# Install runtime dependencies RUN apt-get update -y &&\ apt-get install -y bash sudo netcat-openbsd libssl-dev ca-certificates -# Copy entrypoint script COPY --chmod=700 ./entrypoint.sh /opt/zoraxy/ - -# Copy built binaries from previous stages COPY --from=build-zoraxy /usr/local/bin/zoraxy /usr/local/bin/zoraxy COPY --from=build-zerotier /usr/local/bin/zerotier-one /usr/local/bin/zerotier-one WORKDIR /opt/zoraxy/config/ -# Set environment variables ENV ZEROTIER="false" + ENV AUTORENEW="86400" ENV CFGUPGRADE="true" ENV DB="auto" @@ -74,12 +60,9 @@ ENV WEBROOT="./www" ENV ZTAUTH="" ENV ZTPORT="9993" -# Define volumes VOLUME [ "/opt/zoraxy/config/" ] -# Set entrypoint ENTRYPOINT [ "/opt/zoraxy/entrypoint.sh" ] -# Healthcheck HEALTHCHECK --interval=15s --timeout=5s --start-period=10s --retries=3 CMD nc -vz 127.0.0.1 $PORT || exit 1