personal-gemini-capsule/Dockerfile
2025-10-15 11:53:48 +02:00

34 lines
595 B
Docker

# 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"]