FROM docker.io/library/golang:1.24-alpine AS builder WORKDIR /app RUN apk add --no-cache git RUN go install github.com/a-h/templ/cmd/templ@latest COPY go.mod go.sum* ./ RUN go mod download COPY . . RUN /go/bin/templ generate RUN CGO_ENABLED=0 GOOS=linux go build -o /app/backea-server ./cmd/server/main.go RUN CGO_ENABLED=0 GOOS=linux go build -o /app/backup-performer ./cmd/backup_performer/main.go RUN CGO_ENABLED=0 GOOS=linux go build -o /app/list-backups ./cmd/list-backups/main.go FROM alpine:latest RUN echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories RUN apk add --no-cache \ rsync \ zip \ unzip \ borgbackup \ python3 \ py3-pip \ curl \ fuse \ openssh-client \ ca-certificates \ kopia@edge WORKDIR /app COPY --from=builder /app/backea-server . COPY --from=builder /app/backup-performer . COPY --from=builder /app/list-backups . COPY --from=builder /app/templates ./templates RUN chmod +x /app/backea-server /app/backup-performer /app/list-backups CMD ["/app/backea-server"]