|
1
|
FROM golang:1.22-alpine AS builder |
|
2
|
|
|
3
|
WORKDIR /src |
|
4
|
COPY go.mod go.sum ./ |
|
5
|
RUN go mod download |
|
6
|
|
|
7
|
COPY . . |
|
8
|
ARG VERSION=dev |
|
9
|
RUN CGO_ENABLED=0 GOOS=linux go build \ |
|
10
|
-ldflags="-s -w -X main.version=${VERSION}" \ |
|
11
|
-o /scuttlebot ./cmd/scuttlebot |
|
12
|
|
|
13
|
# ---- |
|
14
|
|
|
15
|
FROM alpine:3.20 |
|
16
|
|
|
17
|
RUN apk add --no-cache ca-certificates tzdata |
|
18
|
|
|
19
|
COPY --from=builder /scuttlebot /usr/local/bin/scuttlebot |
|
20
|
|
|
21
|
# In a container, bind to all interfaces so port mapping works. |
|
22
|
# Override with SCUTTLEBOT_API_ADDR / SCUTTLEBOT_MCP_ADDR if needed. |
|
23
|
ENV SCUTTLEBOT_API_ADDR=:8080 |
|
24
|
ENV SCUTTLEBOT_MCP_ADDR=:8081 |
|
25
|
|
|
26
|
EXPOSE 8080 |
|
27
|
EXPOSE 8081 |
|
28
|
|
|
29
|
ENTRYPOINT ["scuttlebot"] |
|
30
|
|