backea/Dockerfile
2025-03-20 22:14:45 +01:00

47 lines
1.1 KiB
Docker

FROM 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/static ./static
COPY --from=builder /app/templates ./templates
RUN chmod +x /app/backea-server /app/backup-performer /app/list-backups
CMD ["/app/backea-server"]