gogs/docker/runtime/backup-job.sh

34 lines
759 B
Bash

#!/usr/bin/env sh
execute_backup_job() {
BACKUP_ARG_PATH="${1:-}"
BACKUP_ARG_CONFIG="${BACKUP_ARG_CONFIG:-}"
BACKUP_ARG_EXCLUDE_REPOS="${BACKUP_ARG_EXCLUDE_REPOS:-}"
cd "/app/gogs" || exit 1
BACKUP_ARGS="--target=${BACKUP_ARG_PATH}"
if [ -n "${BACKUP_ARG_CONFIG}" ]; then
BACKUP_ARGS="${BACKUP_ARGS} --config=${BACKUP_ARG_CONFIG}"
fi
if [ -n "${BACKUP_ARG_EXCLUDE_REPOS}" ]; then
BACKUP_ARGS="${BACKUP_ARGS} --exclude-repos=${BACKUP_ARG_EXCLUDE_REPOS}"
fi
./gogs backup "${BACKUP_ARGS}" || echo "Error: Backup job returned non-successful code." && exit 1
}
main() {
BACKUP_PATH="${1:-}"
if [ -z "${BACKUP_PATH}" ]; then
echo "Required argument missing BACKUP_PATH" 1>&2
exit 1
fi
execute_backup_job "${BACKUP_PATH}"
}
main "$@"