👷 Added Docker CI

This commit is contained in:
itspooya 2023-05-08 04:18:32 +03:30 committed by Ho3ein
parent bb9a10051f
commit abd48551fd

View file

@ -1,18 +1,16 @@
# Use the official Golang image as the base image # Use the official Golang image as the base image
FROM --platform=$BUILDPLATFORM golang:1.20 as builder FROM --platform=$BUILDPLATFORM golang:1.20 as builder
ARG TARGETOS TARGETARCH
# Set up the working directory # Set up the working directory
WORKDIR /app WORKDIR /app
# Copy the Go modules and download the dependencies # Copy the Go modules and download the dependencies
COPY go.mod go.sum ./ COPY go.mod go.sum ./
RUN go mod download RUN go mod download
RUN echo "GOOS=$TARGETOS GOARCH=$TARGETARCH" > /app/.env
# Copy the source code # Copy the source code
COPY . . COPY . .
ARG TARGETOS TARGETARCH
# Build the X-ui binary # Build the X-ui binary
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o xui-release-$TARGETARCH -v main.go RUN GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o xui-release-$TARGETARCH -v main.go
# Start a new stage using the base image # Start a new stage using the base image
FROM ubuntu:20.04 FROM ubuntu:20.04
@ -21,7 +19,6 @@ WORKDIR /app
# Copy the X-ui binary and required files from the builder stage # Copy the X-ui binary and required files from the builder stage
COPY --from=builder /app/xui-release-$TARGETARCH /app/x-ui/xui-release COPY --from=builder /app/xui-release-$TARGETARCH /app/x-ui/xui-release
COPY --from=builder /app/.env /app/x-ui/.env
COPY x-ui.service /app/x-ui/x-ui.service COPY x-ui.service /app/x-ui/x-ui.service
COPY x-ui.sh /app/x-ui/x-ui.sh COPY x-ui.sh /app/x-ui/x-ui.sh