FROM node:22-alpine AS frontend WORKDIR /app COPY web/package.json web/package-lock.json ./ RUN npm ci COPY web/ ./ RUN npm run build FROM golang:1.24-alpine AS builder RUN apk add --no-cache git WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . COPY --from=frontend /app/dist ./web/dist RUN CGO_ENABLED=0 go build -o /silod ./cmd/silod RUN CGO_ENABLED=0 go build -o /silo ./cmd/silo FROM alpine:3.20 RUN apk add --no-cache ca-certificates wget COPY --from=builder /silod /usr/local/bin/silod COPY --from=builder /silo /usr/local/bin/silo COPY --from=frontend /app/dist /var/www/silo EXPOSE 8080 ENTRYPOINT ["silod"] CMD ["-config", "/etc/silo/config.yaml"]