modem7-docker-borgmatic/base-fullbuild/Dockerfile

86 wiersze
2.6 KiB
Docker
Czysty Zwykły widok Historia

2022-07-27 12:16:16 +00:00
# syntax = docker/dockerfile:latest
2022-06-04 00:42:10 +00:00
FROM python:3.12.3-alpine3.19 as base
ARG TARGETARCH
LABEL maintainer='modem7'
FROM base AS base-amd64
ENV S6_OVERLAY_ARCH=x86_64
FROM base AS base-arm64
ENV S6_OVERLAY_ARCH=aarch64
FROM base-${TARGETARCH}${TARGETVARIANT}
2024-03-11 20:36:58 +00:00
ARG S6_OVERLAY_VERSION=3.1.6.2
# Add S6 Overlay
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_OVERLAY_ARCH}.tar.xz /tmp/s6-overlay.tar.xz
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
# Add S6 optional symlinks
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz /tmp
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz /tmp
ENV LANG='en_US.UTF-8' \
LANGUAGE='en_US.UTF-8' \
TERM='xterm' \
S6_LOGGING="1" \
S6_VERBOSITY="0" \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME="0" \
TZ="Europe/London"
2022-08-13 15:55:43 +00:00
RUN <<EOF
2024-01-22 09:04:08 +00:00
set -xe
apk upgrade --update --no-cache
tar -C / -Jxpf /tmp/s6-overlay.tar.xz
tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz
tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz
tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz
apk add --no-cache -U \
bash \
bash-completion \
bash-doc \
ca-certificates \
curl \
findmnt \
fuse \
libacl \
libxxhash \
logrotate \
lz4-libs \
mariadb-client \
2023-02-22 21:47:46 +00:00
mariadb-connector-c \
mongodb-tools \
2024-01-22 09:04:08 +00:00
openssl \
postgresql-client \
2024-02-22 22:39:22 +00:00
pkgconfig \
sshfs \
sqlite \
2024-04-18 11:27:44 +00:00
tzdata \
xxhash
2023-08-04 09:40:44 +00:00
apk upgrade --no-cache
2022-08-13 15:55:43 +00:00
EOF
COPY --link requirements.txt /
2023-09-08 16:14:03 +00:00
RUN --mount=type=cache,id=pip,target=/root/.cache,sharing=locked \
<<EOF
set -xe
python3 -m pip install -U pip
python3 -m pip install -Ur requirements.txt
borgmatic --bash-completion > "$(pkg-config --variable=completionsdir bash-completion)"/borgmatic
2022-08-13 15:55:43 +00:00
EOF
2024-04-24 18:34:26 +00:00
COPY --chmod=744 --link root/ /
VOLUME /root/.borgmatic
VOLUME /root/.config/borg
VOLUME /root/.cache/borg
2024-02-27 23:51:49 +00:00
HEALTHCHECK --interval=30s --timeout=10s --start-period=20s --retries=3 CMD borgmatic config validate
ENTRYPOINT [ "/init" ]