Skip to content

Block installation of specific apps #21057

Closed

Description

@quenenni

Is your feature request related to a problem? Please describe.

Before, we were only offering a list of apps we trusted, but we want to be more open and also give a chance to new apps (and tbh, that was a lot of work too to maintain).
That's why we decide to let users choose between all the apps available.

Unfortunately, some apps are weaker than others and just a good description will bring lots of people to try it (trusting the apps listed in their apps page).

I have that particular problem with the app "Group Folders", that I must say offers something very nice.
But also, I have regularly big problems due to this app, problems that are always a pain to debug and cost me way too much time to fix (plus often, all the data are unavailable for an amount of time).

I'd be happy to make it available in the future, but I need to be sure the app is good enough before I let it be installed.

Describe the solution you'd like
Couldn't we have somewhere (in config.php file or via the parameters page), a way to select apps we don't want to be installed or used in our nextcloud?

Describe alternatives you've considered
I don't see alternative atm.

Activity

  1. kesselb commented on May 20, 2020

    @kesselb
    Contributor

    It's possible to specify a custom app store url. Mirror apps.json and categories.json to your own server, setup a job to regularly update the files from the official app store and remove apps you don't want.

  2. quenenni commented on May 20, 2020

    @quenenni
    Author

    @kesselb Thanks a lot for your help.

    I see waht you mean, but is it possible to manage a custom app you have at the same time as what you propose?
    Isn't that a bit complexe for what I would like to achieve?

  3. kesselb commented on May 20, 2020

    @kesselb
    Contributor

    I see waht you mean, but is it possible to manage a custom app you have at the same time as what you propose?

    Can you rephrase the question? I don't get it.

    Isn't that a bit complexe for what I would like to achieve?

    It's actually something like download apps.json, parse the json, remove app if on your blacklist, save again as apps.json. Point your instances to your app store url.

  4. quenenni commented on May 21, 2020

    @quenenni
    Author

    We planned to develop one or 2 custom apps for our nextcloud, and so use the custom app system.
    It's not yet done, still in consideration / discussion.

    As I don't know yet how that custom app system works, I was wondering if it will be easy to mix your own custom apps and the system you're explaining.

  5. quenenni commented on Feb 2, 2021

    @quenenni
    Author

    I'm sorry to come back on this post, but I think it becomes more and more important to have this.

    Here are other cases of problems we had lately...

    In our clouds, we configure a shared Lool and a shared onlyoffice for every cloud instances.
    But some users just install themselves the opendocument server and try to configure it in their own cloud.

    On the next cloud update, all the clouds that had that crashed during the update process because of this app.

    Another user of a cloud just decided to install more than 80 apps -> Cloud down because some of the apps were really a bad idea to install.

  6. summersab commented on Feb 18, 2021

    @summersab
    Contributor

    My idea in #21566 was to add a little bit of code so that black/whitelists could be added to config.php. It would be pretty simple to do with about a dozen lines of code.

    @kesselb's solution would also work, though it is a bit more manual:

    It's possible to specify a custom app store url. Mirror apps.json and categories.json to your own server, setup a job to regularly update the files from the official app store and remove apps you don't want.

    It would be pretty easy to include this as part of a Docker build script - curl the files, parse out the stuff you don't want, store them somewhere in the webroot, and change the appstoreurl to localhost.

    I suppose an advantage to this method is that it also lets you control versions and upgrades. If you don't want users to be able to upgrade for some reason (stability or otherwise), don't update the json files.

    Perhaps this could be officially added to the documentation since it has come up in at least four feature requests?

  7. szaimen commented on Feb 18, 2021

    @szaimen
    Contributor

    To me #21566 sounds like a good proposal for anyone interested in implementing this 👍

  8. summersab commented on Feb 19, 2021

    @summersab
    Contributor

    @benks-io You wouldn't really be setting up an app store but rather creating a "dummy" app store. Basically, you're just downloading the app store listings from Nextcloud's servers, filtering out what you don't want, storing the listings locally, and pointing your config.php to the listing files. You don't need to host all of the apps and files locally - it's not that extensive.

    To make this easier, I came up with a script that implements what I just described (@quenenni and @szaimen - you may be interested). This basically does the same thing as my feature request in #21566, only this doesn't require modifications the core Nextcloud libraries and keeps things as native as possible. It could probably be turned into an app, but I'm not familiar with writing code for Nextcloud. Installation instructions for the script are in the header comments:
    https://gist.github.com/summersab/363c753c4936f0bc563ea88a85de6241

    If you have questions or need help, feel free to ask. It might be better to post a comment on my Gist instead of replying here. Also, if you need more help like this, I happen to be a freelance PHP developer. Like I said, I don't currently have experience writing code for Nextcloud, but I've been wanting an excuse to learn. I'd be happy to cut my rates for any work I do while I get familiar with Nextcloud's code.

  9. szaimen commented on Jun 23, 2021

    @szaimen
    Contributor

    Lets us track this in #21566

  10. kesselb commented on Oct 8, 2021

    @kesselb
    Contributor

    Scheduled for 23: #29135

  11. AndyScherzinger commented on Oct 8, 2021

    @AndyScherzinger
    Member

    Scheduled for 23

    as in whitelist-only! - product decision

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    0. Needs triagePending check for reproducibility or if it fits our roadmapenhancement

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions