# Build stage FROM golang:1.25-alpine AS builder WORKDIR /app # Install git, gcc, musl-dev, and sqlite-dev for go mod and CGO RUN apk add --no-cache git gcc musl-dev sqlite-dev # Copy go mod and sum files COPY go.mod go.sum ./ # Download dependencies RUN go mod download COPY ./*.go . COPY ./*.gmi . COPY internal ./internal # Enable CGO for go-sqlite3 ENV CGO_ENABLED=1 RUN go build -o main . FROM alpine:latest WORKDIR /app COPY --from=builder /app/main . COPY keys ./keys EXPOSE 8080 CMD ["./main", "-cert=./keys/prod.crt.pem", "-key=./keys/prod_key.pem", "-host=0.0.0.0:8080"]