Skip to content

[bug] Assumes all apps can be cloned from the nextcloud org (including suggested fix) #476

Description

@bglogic

The Music app's repo is at https://github.com/nc-music/music but the script assumes all extra apps prompted by the user are under the nextcloud org, so running ./bootstrap.sh music fails. The following is the line doing this:

https://github.com/juliusknorr/nextcloud-docker-dev/blob/0cbb0767b210e523e679fa405db639e822a07af7/bootstrap.sh#L158


Maybe supporting a list of known apps can help, this also makes it easier to contribute extra apps. For example:

function clone_app() {
  TARGET=workspace/server/apps-extra/"$1"
  if [ -d "$TARGET"/.git ]; then
    echo "🆗 App $1 is already installed." | indent
    return
  fi
  (
    echo "🌏 Fetching $1"
    (git clone ${APPS_CLONE_PARAMS[@]+"${APPS_CLONE_PARAMS[@]}"} "$2".git "$TARGET" 2>&1 | indent_cli &&
      echo "$1 installed") ||
      echo "❌ Failed to install $1"
  ) | indent
}

function install_app() {
  case "$1" in
    viewer)             clone_app $1 "https://github.com/orgs/nextcloud/viewer" ;;
    recommendations)    clone_app $1 "https://github.com/orgs/nextcloud/recommendations" ;;
    files_pdfviewer)    clone_app $1 "https://github.com/orgs/nextcloud/files_pdfviewer" ;;
    profiler)           clone_app $1 "https://github.com/orgs/nextcloud/profiler" ;;
    hmr_enabler)        clone_app $1 "https://github.com/orgs/nextcloud/hmr_enabler" ;;
    circles)            clone_app $1 "https://github.com/orgs/nextcloud/circles" ;;
    globalsiteselector) clone_app $1 "https://github.com/orgs/nextcloud/globalsiteselector" ;;
    music)              clone_app $1 "https://github.com/nc-music/music" ;;
    onlyoffice)         clone_app $1 "https://github.com/ONLYOFFICE/onlyoffice-nextcloud" ;;
    *)
      cat << EOF
The '$1' app is not recognized by this script. If it is not a typo please open an issue to include it.

Valid extra apps to install:
  music
  onlyoffice
EOF
      exit 1
      ;;
  esac
}

...

for app in "${APPS_TO_INSTALL[@]}"
do
  install_app "$app"
done

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions