mirror of
https://github.com/garraflavatra/docker-volume-s3-backup.git
synced 2025-05-17 13:14:38 +00:00
use build args instead of templating
This commit is contained in:
parent
563c0fdbdf
commit
31f3a471bc
@ -1,6 +1,7 @@
|
|||||||
FROM alpine:{alpine_version}
|
ARG ALPINE_VERSION
|
||||||
|
FROM alpine:${ALPINE_VERSION}
|
||||||
|
|
||||||
ADD install.sh install.sh
|
ADD src/install.sh install.sh
|
||||||
RUN sh install.sh && rm install.sh
|
RUN sh install.sh && rm install.sh
|
||||||
|
|
||||||
ENV POSTGRES_DATABASE ''
|
ENV POSTGRES_DATABASE ''
|
||||||
@ -19,8 +20,8 @@ ENV S3_S3V4 'no'
|
|||||||
ENV SCHEDULE ''
|
ENV SCHEDULE ''
|
||||||
ENV PASSPHRASE ''
|
ENV PASSPHRASE ''
|
||||||
|
|
||||||
ADD run.sh run.sh
|
ADD src/run.sh run.sh
|
||||||
ADD backup.sh backup.sh
|
ADD src/backup.sh backup.sh
|
||||||
ADD restore.sh restore.sh
|
ADD src/restore.sh restore.sh
|
||||||
|
|
||||||
CMD ["sh", "run.sh"]
|
CMD ["sh", "run.sh"]
|
17
hooks/build
Executable file
17
hooks/build
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
declare -A arr
|
||||||
|
arr[9]=3.6
|
||||||
|
arr[10]=3.8
|
||||||
|
arr[11]=3.10
|
||||||
|
arr[12]=edge
|
||||||
|
|
||||||
|
|
||||||
|
for i in "${!arr[@]}"; do
|
||||||
|
docker build \
|
||||||
|
--build-arg "ALPINE_VERSION=${arr[$i]}" \
|
||||||
|
--tag "postgres-backup-s3:$i" \
|
||||||
|
.
|
||||||
|
done
|
||||||
|
|
10
hooks/push
Executable file
10
hooks/push
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
pg_versions=(9 10 11 12)
|
||||||
|
|
||||||
|
for pg_ver in ${pg_versions[@]}; do
|
||||||
|
docker tag postgres-backup-s3:$pg_ver $DOCKER_REPO:$pg_ver
|
||||||
|
docker push $DOCKER_REPO:$pg_ver
|
||||||
|
done
|
25
render.py
25
render.py
@ -1,25 +0,0 @@
|
|||||||
#!/usr/bin/python3
|
|
||||||
|
|
||||||
VERSIONS = (
|
|
||||||
('9', '3.6'),
|
|
||||||
('10', '3.8'),
|
|
||||||
('11', '3.10'),
|
|
||||||
('12', 'edge'),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def render(postgres_version, alpine_version):
|
|
||||||
with open(f'template.Dockerfile') as f:
|
|
||||||
template = f.read()
|
|
||||||
|
|
||||||
rendered = template.format(alpine_version=alpine_version)
|
|
||||||
|
|
||||||
with open(f'src/{postgres_version}.Dockerfile', 'w') as f:
|
|
||||||
f.write('# This file is generated from template.Dockerfile. Do not edit it directly.\n')
|
|
||||||
f.write('###########################################################################\n\n')
|
|
||||||
f.write(rendered)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
for versions in VERSIONS:
|
|
||||||
render(*versions)
|
|
@ -1,29 +0,0 @@
|
|||||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
FROM alpine:3.8
|
|
||||||
|
|
||||||
ADD install.sh install.sh
|
|
||||||
RUN sh install.sh && rm install.sh
|
|
||||||
|
|
||||||
ENV POSTGRES_DATABASE ''
|
|
||||||
ENV POSTGRES_HOST ''
|
|
||||||
ENV POSTGRES_PORT 5432
|
|
||||||
ENV POSTGRES_USER ''
|
|
||||||
ENV POSTGRES_PASSWORD ''
|
|
||||||
ENV PGDUMP_EXTRA_OPTS ''
|
|
||||||
ENV S3_ACCESS_KEY_ID ''
|
|
||||||
ENV S3_SECRET_ACCESS_KEY ''
|
|
||||||
ENV S3_BUCKET ''
|
|
||||||
ENV S3_REGION 'us-west-1'
|
|
||||||
ENV S3_PATH 'backup'
|
|
||||||
ENV S3_ENDPOINT ''
|
|
||||||
ENV S3_S3V4 'no'
|
|
||||||
ENV SCHEDULE ''
|
|
||||||
ENV PASSPHRASE ''
|
|
||||||
|
|
||||||
ADD run.sh run.sh
|
|
||||||
ADD backup.sh backup.sh
|
|
||||||
ADD restore.sh restore.sh
|
|
||||||
|
|
||||||
CMD ["sh", "run.sh"]
|
|
@ -1,29 +0,0 @@
|
|||||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
FROM alpine:3.10
|
|
||||||
|
|
||||||
ADD install.sh install.sh
|
|
||||||
RUN sh install.sh && rm install.sh
|
|
||||||
|
|
||||||
ENV POSTGRES_DATABASE ''
|
|
||||||
ENV POSTGRES_HOST ''
|
|
||||||
ENV POSTGRES_PORT 5432
|
|
||||||
ENV POSTGRES_USER ''
|
|
||||||
ENV POSTGRES_PASSWORD ''
|
|
||||||
ENV PGDUMP_EXTRA_OPTS ''
|
|
||||||
ENV S3_ACCESS_KEY_ID ''
|
|
||||||
ENV S3_SECRET_ACCESS_KEY ''
|
|
||||||
ENV S3_BUCKET ''
|
|
||||||
ENV S3_REGION 'us-west-1'
|
|
||||||
ENV S3_PATH 'backup'
|
|
||||||
ENV S3_ENDPOINT ''
|
|
||||||
ENV S3_S3V4 'no'
|
|
||||||
ENV SCHEDULE ''
|
|
||||||
ENV PASSPHRASE ''
|
|
||||||
|
|
||||||
ADD run.sh run.sh
|
|
||||||
ADD backup.sh backup.sh
|
|
||||||
ADD restore.sh restore.sh
|
|
||||||
|
|
||||||
CMD ["sh", "run.sh"]
|
|
@ -1,29 +0,0 @@
|
|||||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
FROM alpine:edge
|
|
||||||
|
|
||||||
ADD install.sh install.sh
|
|
||||||
RUN sh install.sh && rm install.sh
|
|
||||||
|
|
||||||
ENV POSTGRES_DATABASE ''
|
|
||||||
ENV POSTGRES_HOST ''
|
|
||||||
ENV POSTGRES_PORT 5432
|
|
||||||
ENV POSTGRES_USER ''
|
|
||||||
ENV POSTGRES_PASSWORD ''
|
|
||||||
ENV PGDUMP_EXTRA_OPTS ''
|
|
||||||
ENV S3_ACCESS_KEY_ID ''
|
|
||||||
ENV S3_SECRET_ACCESS_KEY ''
|
|
||||||
ENV S3_BUCKET ''
|
|
||||||
ENV S3_REGION 'us-west-1'
|
|
||||||
ENV S3_PATH 'backup'
|
|
||||||
ENV S3_ENDPOINT ''
|
|
||||||
ENV S3_S3V4 'no'
|
|
||||||
ENV SCHEDULE ''
|
|
||||||
ENV PASSPHRASE ''
|
|
||||||
|
|
||||||
ADD run.sh run.sh
|
|
||||||
ADD backup.sh backup.sh
|
|
||||||
ADD restore.sh restore.sh
|
|
||||||
|
|
||||||
CMD ["sh", "run.sh"]
|
|
@ -1,29 +0,0 @@
|
|||||||
# This file is generated from template.Dockerfile. Do not edit it directly.
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
FROM alpine:3.6
|
|
||||||
|
|
||||||
ADD install.sh install.sh
|
|
||||||
RUN sh install.sh && rm install.sh
|
|
||||||
|
|
||||||
ENV POSTGRES_DATABASE ''
|
|
||||||
ENV POSTGRES_HOST ''
|
|
||||||
ENV POSTGRES_PORT 5432
|
|
||||||
ENV POSTGRES_USER ''
|
|
||||||
ENV POSTGRES_PASSWORD ''
|
|
||||||
ENV PGDUMP_EXTRA_OPTS ''
|
|
||||||
ENV S3_ACCESS_KEY_ID ''
|
|
||||||
ENV S3_SECRET_ACCESS_KEY ''
|
|
||||||
ENV S3_BUCKET ''
|
|
||||||
ENV S3_REGION 'us-west-1'
|
|
||||||
ENV S3_PATH 'backup'
|
|
||||||
ENV S3_ENDPOINT ''
|
|
||||||
ENV S3_S3V4 'no'
|
|
||||||
ENV SCHEDULE ''
|
|
||||||
ENV PASSPHRASE ''
|
|
||||||
|
|
||||||
ADD run.sh run.sh
|
|
||||||
ADD backup.sh backup.sh
|
|
||||||
ADD restore.sh restore.sh
|
|
||||||
|
|
||||||
CMD ["sh", "run.sh"]
|
|
@ -1,6 +1,6 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
set -e
|
set -eux
|
||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
apk update
|
apk update
|
||||||
@ -11,8 +11,8 @@ apk add postgresql-client
|
|||||||
# install gpg
|
# install gpg
|
||||||
apk add gnupg
|
apk add gnupg
|
||||||
|
|
||||||
# install s3 tools
|
|
||||||
apk add python3
|
apk add python3
|
||||||
|
apk add py3-pip # separate package on edge only
|
||||||
pip3 install awscli
|
pip3 install awscli
|
||||||
|
|
||||||
# install go-cron
|
# install go-cron
|
||||||
|
Loading…
x
Reference in New Issue
Block a user