# Step 1: Build the Go binary
FROM golang:bookworm AS build

# Set the current working directory inside the container
WORKDIR /app

# Copy go.mod and go.sum files
COPY go.mod go.sum ./

# Download all Go dependencies
RUN go mod download

# Copy the rest of the application code
COPY . .

# Build the Go application
RUN go build -o main src/main.go

# Command to run the executable
RUN chmod a+x main
CMD ["./main"]

# Expose the port on which the Go server will run
EXPOSE 80