docker-volume-backup/Dockerfile

22 lines
427 B
Docker
Raw Normal View History

2021-04-02 13:59:47 +02:00
# Copyright 2021 - Offen Authors <hioffen@posteo.de>
2021-07-01 15:16:39 +02:00
# SPDX-License-Identifier: MPL-2.0
FROM golang:1.20.5-alpine as builder
WORKDIR /app
Added abstract helper interface for all storage backends (#135) * Added abstract helper interface and implemented it for all storage backends * Moved storage client initializations also to helper classes * Fixed ssh init issue * Moved script parameter to helper struct to simplify script init. * Created sub modules. Enhanced abstract implementation. * Fixed config issue * Fixed declaration issues. Added config to interface. * Added StorageProviders to unify all backends. * Cleanup, optimizations, comments. * Applied discussed changes. See description. Moved modules to internal packages. Replaced StoragePool with slice. Moved conditional for init of storage backends back to script. * Fix docker build issue * Fixed accidentally removed local copy condition. * Delete .gitignore * Renaming/changes according to review Renamed Init functions and interface. Replaced config object with specific config values. Init func returns interface instead of struct. Removed custom import names where possible. * Fixed auto-complete error. * Combined copy instructions into one layer. * Added logging func for storages. * Introduced logging func for errors too. * Missed an error message * Moved config back to main. Optimized prune stats handling. * Move stats back to main package * Code doc stuff * Apply changes from #136 * Replace name field with function. * Changed receiver names from stg to b. * Renamed LogFuncDef to Log * Removed redundant package name. * Renamed storagePool to storages. * Simplified creation of new storage backend. * Added initialization for storage stats map. * Invert .dockerignore patterns. * Fix package typo
2022-08-18 08:52:09 +02:00
COPY . .
RUN go mod download
WORKDIR /app/cmd/backup
RUN go build -o backup .
2021-04-02 13:59:47 +02:00
FROM alpine:3.18
2021-04-02 13:59:47 +02:00
WORKDIR /root
RUN apk add --no-cache ca-certificates
2021-04-02 13:59:47 +02:00
COPY --from=builder /app/cmd/backup/backup /usr/bin/backup
COPY --chmod=755 ./entrypoint.sh /root/
2021-04-02 13:59:47 +02:00
ENTRYPOINT ["/root/entrypoint.sh"]