Skip to content

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

@bglogic

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions