added docker as dependency
This commit is contained in:
parent
3d1a9f5438
commit
ac3b99d0bd
20
Dockerfile
20
Dockerfile
@ -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"]
|
10
compose.yaml
10
compose.yaml
@ -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:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user