Manually downloading (installing) apps

I’m using very restrictive firewall rules on the server I have nextcloud running on, that also blocks most outgoing HTTP(S), and I’m not likely to change that.

That means installing apps fail because they can’t be downloaded from github-cloud.s3.amazonaws.com, and as that resolves to something new every fifth (?) second, it’s basically impossible to allow it in a firewall (without allowing WAY too much). It’s not hard to download the apps as zips from github on another machine and copy them to the server, but what do I then?

Or should I do some DNS trickery to make github-cloud.s3.amazonaws.com resolve to 127.0.0.1, combined with some nginx configuration and allow nextcloud to "download the apps from my own server? Or is there an even better way?


Even though I suspect it’s unimportant, here is some of the basic info:
Nextcloud version (eg, 10.0.2): 11.0.1
Operating system and version (eg, Ubuntu 16.04): Debian Jessie (8.7)
Apache or nginx version (eg, Apache 2.4.25): Nginx 1.6.2
PHP version (eg, 5.6): 5.6.30+dfsg-0+deb8u1

2 Likes

You can set in your config/config.php that your server is not connected to the internet:

/**
 * Is Nextcloud connected to the Internet or running in a closed network?
 *
 * Defaults to ``true``
 */
'has_internet_connection' => false,

The app store is open source, but unless you provide a lot of NC setups in your network, it’s probably a bit complicated to duplicate the official app-store (https://github.com/nextcloud/appstore).

If you mark your setup being not connected to the internet, federated cloud sharing most likely won’t work.

I don’t care about federated cloud sharing, but how would that help me installing apps?

It doesn’t really help installing the apps but it won’t do background upgrade checks so the interface is probably faster. I’m not sure how much effort it is to install your own local app store (@BernhardPosselt) but I could imagine that it is less effort to just manually download and install the apps.

And again: How do you do that? I can’t find it in the documentation.

Upload the app tar.gz into nextcloud/apps/ extract it there and click install. That’s all

6 Likes

Now I finally found some time to work on my nextcloud installation. After extracting the archive downloaded from github (and fixing permissions), the app does appear under “Disabled” (my browser is configured to display pages in danish, where it’s called “Slået fra”, but the url says “category=disabled” so I guessing that’s the name in english). But there’s nowhere to click “install”, there are three buttons labeled “Opdatér til 1.5.1” (means “Update to 1.5.1” - which it already is), “Aktiver” (means “Activate”) and “Uninstall app” (that’s not translated), if I click “Aktiver” it says “Enabling app…” for a while then fails with “cURL error 7: Failed to connect to github-cloud.s3.amazonaws.com port 443: Connection timed out”, and as already explained that won’t work.

Have I misunderstood how to do this, or forgot something or … How do I go on setting up nextcloud on a server that has some strict outgoing firewall rules?

(1.5.1 is the version of the Calendar app, but I also tried with “Phone Sync”, for that the version number was 1.11.5, but apart from the url (which seems like it’s not AWS, so might be easier to add an exception for) the experience was the same)

Works for me (you can also simply switch your Nextcloud to English in your profile :slight_smile: ).

Unsurprisingly changing the language didn’t change the result, enabling the app(s) causes errors because a connection is attempted but blocked. Am I really the only nextcloud user that cares about outgoing traffic from the server?

1 Like

I think the switch to English was to get English errors. If you decide to install manually, I would try to set in your config that you don’t have internet connection in order to avoid checks for never versions.

But the error message was in english all the time. And I actually had

'has_internet_connection' => false,

in the config first time I tried yesterday, but I’ve just tried adding it again, and it doesn’t make a difference.

In this case, you should write a bugreport on github.com/nextcloud/server/issues, a server without internet connection must no try to connect to resources on the internet.

I thought I would upgrade from 11.0.1 to 11.0.2 before reporting a bug, and just to avoid copying something that was broken, I re-downloaded the tar.gz’s for four apps (PhoneSync, Calendar, Contacts and News), copied them to my server, extracted them into /var/www/nextcloud/apps and changed ownership to www-data:www-data (they came with 4 different sets of user:group). Now I can only find them under the categories along with all the other apps, and the “Enable” button makes nextcloud try to download them, and that’s what I started trying to avoid. What have I done wrong?

They should be in the not-enabled section. By default NC probably checks if there is a newer version. With the bugreport, I meant that you should report this problem because it makes no sense to check for a newer version if there is no internet connection. Then it’s up to you to make sure to keep the apps updated.

They way you got the apps and installed them looks good for me.

I got your point about reporting the bug, I just (in general) don’t want to report bugs against old versions. I get that it’s up to me to keep apps updated if I won’t alow nextcloud to do so, but that’s a price I’m willing to pay for not allowing traffic to basically anywhere. (And unlike AWS, github is sufficient different from “basically anywhere”, that I’ll consider allowing traffic to there if it will give me notifications)

I found out that I actually extracted the .tar.gz’s in /var/www/nextcloud not /var/www/nextcloud/apps, when I fixed that things worked.

Thanks for all the help and suggestions, even though it seems to have mostly me doing silly things.

1 Like

I has the same issue with you , and i just downloaded from apps.nextcloud.com and transfered to the ./var/www/nextcloud/apps ,then i can enable it form catogories, i dont know what is the Sequelae with doing this way .
looking for a totally solution anyway .

What is meant by ‘enable it from categories’? I also want to do this. Thanks

What did you do to see them in the nextcloud application (access from browser)?

I am new at this, at nextcloud and generally no data hacker but my friends rely upon me.
however, I have been able to download the zip-files, ftp’d them to the right place and extracted them, being able to see them … but not in nextcloud.

it is the group access and access control apps I want enabled for my business.

Thanks, just done it. Works fine. Easier that fighting a shared hosting firewall policies.