# -*- mode: shell-script -*- MATOMO_DIR="/opt/apps/matomo" MATOMO_CODE="$SERVICE_CONFIGSTORE$MATOMO_DIR" MATOMO_RELEASE=4.16.0 MATOMO_URL=https://github.com/matomo-org/matomo/archive/"${MATOMO_RELEASE}".tar.gz #MATOMO_URL=https://docker.0k.io/downloads/matomo-"${MATOMO_RELEASE}".tar.gz MATOMO_CONFIG_FILE="${MATOMO_CODE}"/config/config.ini.php matomo:init() { current_version="" if [ -d "${MATOMO_CODE}" ]; then current_version=$(cat "${MATOMO_CODE}"/.version) || { err "Couldn't find ${MATOMO_CODE}/.version file." echo " Your config dir is in a broken state." >&2 return 1 } else mkdir -p "${MATOMO_CODE}" && cd "${MATOMO_CODE}" && git init . && git config user.email "root@localhost" && git config user.name "Root" || { err "Couldn't create directory ${MATOMO_CODE}, or init it with git." return 1 } fi if [ "$current_version" != "$MATOMO_RELEASE" ]; then cd "${MATOMO_CODE}" || return 1 [ -d "$MATOMO_CODE"/.git ] || { err "Can't find the '.git' directory in ${MATOMO_CODE}." return 1 } rm -rf "$MATOMO_CODE"/* "$MATOMO_CODE"/{.version,.inited-*} || return 1 curl -L "$MATOMO_URL" | tar xzv || { #if [ -f "$MATOMO_URL" ]; then # git checkout HEAD #else # rmdir "$MATOMO_URL" #fi err "Couldn't download $MATOMO_URL." return 1 } mv matomo-*/* matomo-*/{.bowerrc,.lfsconfig} . && rmdir matomo-* echo "$MATOMO_RELEASE" > .version git add -A . && git commit -m "Release $MATOMO_RELEASE" fi } matomo:config() { [ -f "$MATOMO_CONFIG_FILE" ] || { cat < "$MATOMO_CONFIG_FILE" ; DO NOT REMOVE THIS LINE ; file automatically generated or modified by Matomo; you can manually override the default values in global.ini.php by redefining them in this file. EOF } crudini --get "$MATOMO_CONFIG_FILE" General salt >dev/null || { salt=$(dd if=/dev/urandom bs=1 count=16 2>/dev/null | hexdump -v -e '/1 "%02x"') crudini --set "$MATOMO_CONFIG_FILE" General salt \"$salt\" crudini --set "$MATOMO_CONFIG_FILE" General installation_in_progress 1 } } matomo:curl() { local url="$1" curl "$url" } # matomo:wizard() { # PAGES=( # "systemCheck" # "databaseSetup" # "tablesCreation" # "setupSuperUser" # "setupSuperUser" # "firstWebsiteSetup" # "firstWebsiteSetup" # "trackingCode" # "finished" # ) # matomo:curl # }