added docker as dependency

This commit is contained in:
sirir 2025-03-25 20:34:50 +01:00
parent 3d1a9f5438
commit ac3b99d0bd
2 changed files with 15 additions and 17 deletions

View File

@ -1,24 +1,18 @@
FROM docker.io/library/golang:1.24-alpine AS builder FROM docker.io/library/golang:1.24-alpine AS builder
WORKDIR /app WORKDIR /app
RUN apk add --no-cache git RUN apk add --no-cache git
RUN go install github.com/a-h/templ/cmd/templ@latest RUN go install github.com/a-h/templ/cmd/templ@latest
COPY go.mod go.sum* ./ COPY go.mod go.sum* ./
RUN go mod download RUN go mod download
COPY . . COPY . .
RUN /go/bin/templ generate 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/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/backup-performer ./cmd/backup_performer/main.go
RUN CGO_ENABLED=0 GOOS=linux go build -o /app/list-backups ./cmd/list-backups/main.go RUN CGO_ENABLED=0 GOOS=linux go build -o /app/list-backups ./cmd/list-backups/main.go
FROM alpine:latest FROM alpine:3.20
RUN echo "@edge http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
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 \ RUN apk add --no-cache \
rsync \ rsync \
@ -31,16 +25,14 @@ RUN apk add --no-cache \
fuse \ fuse \
openssh-client \ openssh-client \
ca-certificates \ ca-certificates \
kopia@edge kopia@edge \
docker \
docker-cli-compose@community_edge
WORKDIR /app WORKDIR /app
COPY --from=builder /app/backea-server . COPY --from=builder /app/backea-server .
COPY --from=builder /app/backup-performer . COPY --from=builder /app/backup-performer .
COPY --from=builder /app/list-backups . COPY --from=builder /app/list-backups .
COPY --from=builder /app/templates ./templates COPY --from=builder /app/templates ./templates
RUN chmod +x /app/backea-server /app/backup-performer /app/list-backups RUN chmod +x /app/backea-server /app/backup-performer /app/list-backups
CMD ["/app/backea-server"]
CMD ["/app/backea-server"]

View File

@ -11,14 +11,20 @@ services:
- ./config.yml:/app/config.yml:Z - ./config.yml:/app/config.yml:Z
- ./kopia.env:/app/kopia.env:Z - ./kopia.env:/app/kopia.env:Z
# Source directories to backup - map to identical paths inside container # Source directories to backup - map to identical paths inside container
- /home/sirir/Images:/home/sirir/Images - /home/gevo/Images:/home/gevo/Images
- /home/gevo/Documents:/home/gevo/Documents
# Dedicated repository storage # Dedicated repository storage
- ./kopiadata:/root/.kopia - ./kopiadata:/root/.kopia
# SSH keys if needed # SSH keys if needed
- /home/sirir/.ssh:/root/.ssh:ro - /home/gevo/.ssh:/root/.ssh:ro
- ./config/kopia:/tmp/kopia_configs - ./config/kopia:/tmp/kopia_configs
- /var/run/docker.sock:/var/run/docker.sock
environment: environment:
- HOME=/root - HOME=/root
cap_add: cap_add: