1
0
mirror of https://github.com/garraflavatra/docker-volume-s3-backup.git synced 2025-05-17 13:14:38 +00:00

share common env var code

This commit is contained in:
Elliott Shugerman 2022-09-25 13:55:47 -04:00
parent abbe4b3703
commit 53c5ca4b11
4 changed files with 49 additions and 91 deletions

View File

@ -23,6 +23,7 @@ ENV PASSPHRASE ''
ENV BACKUP_KEEP_DAYS ''
ADD src/run.sh run.sh
ADD src/env.sh env.sh
ADD src/backup.sh backup.sh
ADD src/restore.sh restore.sh

View File

@ -3,51 +3,7 @@
set -eu
set -o pipefail
if [ -z "$S3_BUCKET" ]; then
echo "You need to set the S3_BUCKET environment variable."
exit 1
fi
if [ -z "$POSTGRES_DATABASE" ]; then
echo "You need to set the POSTGRES_DATABASE environment variable."
exit 1
fi
if [ -z "$POSTGRES_HOST" ]; then
if [ -n "$POSTGRES_PORT_5432_TCP_ADDR" ]; then
POSTGRES_HOST=$POSTGRES_PORT_5432_TCP_ADDR
POSTGRES_PORT=$POSTGRES_PORT_5432_TCP_PORT
else
echo "You need to set the POSTGRES_HOST environment variable."
exit 1
fi
fi
if [ -z "$POSTGRES_USER" ]; then
echo "You need to set the POSTGRES_USER environment variable."
exit 1
fi
if [ -z "$POSTGRES_PASSWORD" ]; then
echo "You need to set the POSTGRES_PASSWORD environment variable."
exit 1
fi
if [ -z "$S3_ENDPOINT" ]; then
aws_args=""
else
aws_args="--endpoint-url $S3_ENDPOINT"
fi
if [ -n "$S3_ACCESS_KEY_ID" ]; then
export AWS_ACCESS_KEY_ID=$S3_ACCESS_KEY_ID
fi
if [ -n "$S3_SECRET_ACCESS_KEY" ]; then
export AWS_SECRET_ACCESS_KEY=$S3_SECRET_ACCESS_KEY
fi
export AWS_DEFAULT_REGION=$S3_REGION
export PGPASSWORD=$POSTGRES_PASSWORD
source ./env.sh
echo "Creating backup of $POSTGRES_DATABASE database..."
pg_dump --format=custom \

46
src/env.sh Normal file
View File

@ -0,0 +1,46 @@
if [ -z "$S3_BUCKET" ]; then
echo "You need to set the S3_BUCKET environment variable."
exit 1
fi
if [ -z "$POSTGRES_DATABASE" ]; then
echo "You need to set the POSTGRES_DATABASE environment variable."
exit 1
fi
if [ -z "$POSTGRES_HOST" ]; then
# https://docs.docker.com/network/links/#environment-variables
if [ -n "$POSTGRES_PORT_5432_TCP_ADDR" ]; then
POSTGRES_HOST=$POSTGRES_PORT_5432_TCP_ADDR
POSTGRES_PORT=$POSTGRES_PORT_5432_TCP_PORT
else
echo "You need to set the POSTGRES_HOST environment variable."
exit 1
fi
fi
if [ -z "$POSTGRES_USER" ]; then
echo "You need to set the POSTGRES_USER environment variable."
exit 1
fi
if [ -z "$POSTGRES_PASSWORD" ]; then
echo "You need to set the POSTGRES_PASSWORD environment variable."
exit 1
fi
if [ -z "$S3_ENDPOINT" ]; then
aws_args=""
else
aws_args="--endpoint-url $S3_ENDPOINT"
fi
if [ -n "$S3_ACCESS_KEY_ID" ]; then
export AWS_ACCESS_KEY_ID=$S3_ACCESS_KEY_ID
fi
if [ -n "$S3_SECRET_ACCESS_KEY" ]; then
export AWS_SECRET_ACCESS_KEY=$S3_SECRET_ACCESS_KEY
fi
export AWS_DEFAULT_REGION=$S3_REGION
export PGPASSWORD=$POSTGRES_PASSWORD

View File

@ -3,52 +3,7 @@
set -u # `-e` omitted intentionally, but i can't remember why exactly :'(
set -o pipefail
if [ -z "$S3_BUCKET" ]; then
echo "You need to set the S3_BUCKET environment variable."
exit 1
fi
if [ -z "$POSTGRES_DATABASE" ]; then
echo "You need to set the POSTGRES_DATABASE environment variable."
exit 1
fi
if [ -z "$POSTGRES_HOST" ]; then
# https://docs.docker.com/network/links/#environment-variables
if [ -n "$POSTGRES_PORT_5432_TCP_ADDR" ]; then
POSTGRES_HOST=$POSTGRES_PORT_5432_TCP_ADDR
POSTGRES_PORT=$POSTGRES_PORT_5432_TCP_PORT
else
echo "You need to set the POSTGRES_HOST environment variable."
exit 1
fi
fi
if [ -z "$POSTGRES_USER" ]; then
echo "You need to set the POSTGRES_USER environment variable."
exit 1
fi
if [ -z "$POSTGRES_PASSWORD" ]; then
echo "You need to set the POSTGRES_PASSWORD environment variable."
exit 1
fi
if [ -z "$S3_ENDPOINT" ]; then
aws_args=""
else
aws_args="--endpoint-url $S3_ENDPOINT"
fi
if [ -n "$S3_ACCESS_KEY_ID" ]; then
export AWS_ACCESS_KEY_ID=$S3_ACCESS_KEY_ID
fi
if [ -n "$S3_SECRET_ACCESS_KEY" ]; then
export AWS_SECRET_ACCESS_KEY=$S3_SECRET_ACCESS_KEY
fi
export AWS_DEFAULT_REGION=$S3_REGION
export PGPASSWORD=$POSTGRES_PASSWORD
source ./env.sh
s3_uri_base="s3://${S3_BUCKET}/${S3_PREFIX}"