# GO Repo base repo
FROM golang:alpine3.14 as builder
RUN apk add git
# Add Maintainer Info
LABEL maintainer="<Philipp Böhm>"
RUN mkdir /app
ADD . /app
WORKDIR /app
COPY go.mod go.sum ./
# Download all the dependencies
RUN go mod download
COPY . .
# Build the Go app
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main ./cmd/main.go
FROM alpine:latest
RUN apk --no-cache add ca-certificates curl
WORKDIR /app/
# Copy the Pre-built binary file from the previous stage
COPY --from=builder /app .
# Expose port 3000
EXPOSE 3000
# Run Executable
CMD ["./main"]