mirror of
				https://github.com/tobychui/zoraxy.git
				synced 2025-10-31 14:04:13 +01:00 
			
		
		
		
	Restore dockerfile
- The docker file change shd be included in another PR
This commit is contained in:
		| @@ -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 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Toby Chui
					Toby Chui