backea/Dockerfile
2025-03-25 20:34:50 +01:00

38 lines
1.2 KiB
Docker

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:3.20
RUN echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
echo "@community_edge http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk add --no-cache \
rsync \
zip \
unzip \
borgbackup \
python3 \
py3-pip \
curl \
fuse \
openssh-client \
ca-certificates \
kopia@edge \
docker \
docker-cli-compose@community_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"]