mirror of
https://github.com/prodrigestivill/docker-postgres-backup-local.git
synced 2026-05-31 08:37:58 +00:00
@@ -95,6 +95,9 @@ Most variables are the same as in the [official postgres image](https://hub.dock
|
||||
| SCHEDULE | [Cron-schedule](http://godoc.org/github.com/robfig/cron#hdr-Predefined_schedules) specifying the interval between postgres backups. Defaults to `@daily`. |
|
||||
| TZ | [POSIX TZ variable](https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html) specifying the timezone used to evaluate SCHEDULE cron (example "Europe/Paris"). |
|
||||
| WEBHOOK_URL | URL to be called after an error or after a successful backup (POST with a JSON payload, check `hooks/00-webhook` file for more info). Default disabled. |
|
||||
| WEBHOOK_ERROR_URL | URL to be called in case backup fails. Default disabled. |
|
||||
| WEBHOOK_PRE_BACKUP_URL | URL to be called when backup starts. Default disabled. |
|
||||
| WEBHOOK_POST_BACKUP_URL | URL to be called when backup completes successfully. Default disabled. |
|
||||
| WEBHOOK_EXTRA_ARGS | Extra arguments for the `curl` execution in the webhook (check `hooks/00-webhook` file for more info). |
|
||||
|
||||
#### Special Environment Variables
|
||||
|
||||
@@ -30,6 +30,9 @@ ENV POSTGRES_DB="**None**" \
|
||||
BACKUP_KEEP_MINS=1440 \
|
||||
HEALTHCHECK_PORT=8080 \
|
||||
WEBHOOK_URL="**None**" \
|
||||
WEBHOOK_ERROR_URL="**None**" \
|
||||
WEBHOOK_PRE_BACKUP_URL="**None**" \
|
||||
WEBHOOK_POST_BACKUP_URL="**None**" \
|
||||
WEBHOOK_EXTRA_ARGS=""
|
||||
|
||||
COPY hooks /hooks
|
||||
|
||||
@@ -44,6 +44,9 @@ ENV POSTGRES_DB="**None**" \
|
||||
BACKUP_KEEP_MINS=1440 \
|
||||
HEALTHCHECK_PORT=8080 \
|
||||
WEBHOOK_URL="**None**" \
|
||||
WEBHOOK_ERROR_URL="**None**" \
|
||||
WEBHOOK_PRE_BACKUP_URL="**None**" \
|
||||
WEBHOOK_POST_BACKUP_URL="**None**" \
|
||||
WEBHOOK_EXTRA_ARGS=""
|
||||
|
||||
COPY hooks /hooks
|
||||
|
||||
+44
-11
@@ -5,9 +5,9 @@ set -e
|
||||
# Possible actions: error, pre-backup, post-backup
|
||||
ACTION="${1}"
|
||||
|
||||
if [ "${WEBHOOK_URL}" != "**None**" ]; then
|
||||
case "${ACTION}" in
|
||||
"error")
|
||||
case "${ACTION}" in
|
||||
"error")
|
||||
if [ "${WEBHOOK_URL}" != "**None**" ]; then
|
||||
echo "Execute error webhook call to ${WEBHOOK_URL}"
|
||||
curl --request POST \
|
||||
--url "${WEBHOOK_URL}" \
|
||||
@@ -16,11 +16,34 @@ if [ "${WEBHOOK_URL}" != "**None**" ]; then
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
${WEBHOOK_EXTRA_ARGS}
|
||||
;;
|
||||
# "pre-backup")
|
||||
# echo "Nothing to do"
|
||||
# ;;
|
||||
"post-backup")
|
||||
fi
|
||||
if [ "${WEBHOOK_ERROR_URL}" != "**None**" ]; then
|
||||
echo "Execute error webhook call to ${WEBHOOK_ERROR_URL}"
|
||||
curl --request POST \
|
||||
--url "${WEBHOOK_ERROR_URL}" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{"status": "error"}' \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
${WEBHOOK_EXTRA_ARGS}
|
||||
fi
|
||||
;;
|
||||
|
||||
"pre-backup")
|
||||
if [ "${WEBHOOK_PRE_BACKUP_URL}" != "**None**" ]; then
|
||||
echo "Execute pre-backup webhook call to ${WEBHOOK_PRE_BACKUP_URL}"
|
||||
curl --request POST \
|
||||
--url "${WEBHOOK_PRE_BACKUP_URL}" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{"status": "pre-backup"}' \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
${WEBHOOK_EXTRA_ARGS}
|
||||
fi
|
||||
;;
|
||||
|
||||
"post-backup")
|
||||
if [ "${WEBHOOK_URL}" != "**None**" ]; then
|
||||
echo "Execute post-backup webhook call to ${WEBHOOK_URL}"
|
||||
curl --request POST \
|
||||
--url "${WEBHOOK_URL}" \
|
||||
@@ -29,6 +52,16 @@ if [ "${WEBHOOK_URL}" != "**None**" ]; then
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
${WEBHOOK_EXTRA_ARGS}
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if [ "${WEBHOOK_POST_BACKUP_URL}" != "**None**" ]; then
|
||||
echo "Execute post-backup webhook call to ${WEBHOOK_POST_BACKUP_URL}"
|
||||
curl --request POST \
|
||||
--url "${WEBHOOK_POST_BACKUP_URL}" \
|
||||
--header 'Content-Type: application/json' \
|
||||
--data '{"status": "post-backup"}' \
|
||||
--max-time 10 \
|
||||
--retry 5 \
|
||||
${WEBHOOK_EXTRA_ARGS}
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user