# Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
# Start from the official Go image for building
FROM golang:1.23.2-alpine AS builder
# Set the working directory inside the container
WORKDIR /app
# Copy go.mod and go.sum files for dependency installation
COPY go.mod ./
COPY go.sum ./
# Download all necessary Go modules
RUN go mod download
# Copy the entire project into the container
COPY . .
# Build the Go application
RUN go build -o all-in-one-model-context-protocol main.go
# Start a new stage from scratch
FROM alpine:latest
# Install certificates to make HTTPS requests
RUN apk --no-cache add ca-certificates
# Set the working directory inside the container
WORKDIR /root/
# Copy the binary from the builder stage
COPY --from=builder /app/all-in-one-model-context-protocol .
# Copy the .env file if needed (uncomment the following line if needed)
# COPY --from=builder /app/.env .
# Set the entrypoint command
ENTRYPOINT ["./all-in-one-model-context-protocol", "-env", "/path/to/.env"]