1# Build stage
2FROM golang:1.25.3-bookworm AS builder
3
4RUN apt-get update && apt-get install -y \
5 git \
6 ca-certificates \
7 && rm -rf /var/lib/apt/lists/*
8
9WORKDIR /build
10
11COPY go.mod go.sum ./
12
13RUN go mod download
14
15COPY . .
16
17RUN CGO_ENABLED=1 go build -o myaur-bin ./cmd/myaur
18
19# Runtime stage
20FROM debian:bookworm-slim
21
22RUN apt-get update && apt-get install -y \
23 ca-certificates \
24 git \
25 && rm -rf /var/lib/apt/lists/*
26
27WORKDIR /app
28
29COPY --from=builder /build/myaur-bin /app/myaur-bin
30
31RUN mkdir -p /app/data
32
33EXPOSE 8080 8081
34
35# Set default command
36CMD ["/app/myaur-bin", "serve", "--listen-addr", ":8080", "--metrics-listen-addr", ":8081", "--database-path", "/app/data/myaur.db", "--repo-path", "/app/aur-mirror"]