#!/bin/sh set -eu export LC_ALL=C BASE_URL='https://raw.githubusercontent.com/hectorm/docker-compose-helpers/master' BIN_DIR=/usr/local/bin SYSTEMDUNIT_DIR=/etc/systemd/system TMP_DIR=$(mktemp -d) # shellcheck disable=SC2154 trap 'ret="$?"; rm -rf -- "${TMP_DIR:?}"; trap - EXIT; exit "${ret:?}"' EXIT TERM INT HUP main() { mkdir "${TMP_DIR:?}"/bin/ curl --proto '=https' --tlsv1.3 -L \ -o "${TMP_DIR:?}"/bin/'#1-#2' "${BASE_URL:?}"/bin/'{docker-compose}-{restart,start,stop,update,backup,restic}' \ -o "${TMP_DIR:?}"/bin/'#1-#2' "${BASE_URL:?}"/bin/'{docker-compose}-{helpers-upgrade}' mv -f "${TMP_DIR:?}"/bin/* "${BIN_DIR:?}"/ chown root:root "${BIN_DIR:?}"/docker-compose-* chmod 755 "${BIN_DIR:?}"/docker-compose-* if command -v semanage >/dev/null && command -v restorecon >/dev/null; then semanage fcontext -at bin_t "${BIN_DIR:?}"/docker-compose-'(.*)' 2>/dev/null ||: restorecon -Fv "${BIN_DIR:?}"/docker-compose-* fi if [ -d "${SYSTEMDUNIT_DIR:?}" ]; then mkdir "${TMP_DIR:?}"/systemd/ curl --proto '=https' --tlsv1.3 -L \ -o "${TMP_DIR:?}"/systemd/'#1.#2' "${BASE_URL:?}"/systemd/'{docker-compose@}.{service}' \ -o "${TMP_DIR:?}"/systemd/'#1.#2' "${BASE_URL:?}"/systemd/'{docker-compose-update@}.{service,timer}' \ -o "${TMP_DIR:?}"/systemd/'#1.#2' "${BASE_URL:?}"/systemd/'{docker-compose-backup@}.{service,timer}' mv -f "${TMP_DIR:?}"/systemd/* "${SYSTEMDUNIT_DIR:?}"/ chown root:root "${SYSTEMDUNIT_DIR:?}"/docker-compose@.* "${SYSTEMDUNIT_DIR:?}"/docker-compose-*@.* chmod 644 "${SYSTEMDUNIT_DIR:?}"/docker-compose@.* "${SYSTEMDUNIT_DIR:?}"/docker-compose-*@.* if command -v semanage >/dev/null && command -v restorecon >/dev/null; then restorecon -Fv "${SYSTEMDUNIT_DIR:?}"/docker-compose@.* "${SYSTEMDUNIT_DIR:?}"/docker-compose-*@.* fi systemctl daemon-reload 2>/dev/null ||: fi } main "$@"