#!/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 "$@"