nextcloud / nextcloud/server

Add setup check for the outbound connections required by Server

Open
#8,147 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement feature: settings
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Hoster decided to introduce a restrictive outbound firewalling policy, which will need a list of servers that need to be reachable permanently, or may be enabled temporarily.

The admin interface could list the destinations of required outbound connections from a Nextcloud instance, and inform the admin about any missing connectivity.

-> Let CheckSetupController:

  • Check the required servers from below needed for "Basic App selection and update functions".
  • Check a generic server like www.nexcloud.com to hint that "federation" may need further firewall permissions.
  • Concerning specific app downloading, there is already an error message shown that prints the server, so this should be ok, but could offer the user to download and install/upload from the local machine.

Summary, thanks to the comments below:

Basic Updates

(should be checked instead of the current arbitrary addresses:) https://github.com/nextcloud/server/blob/7618473a443aaa42d06391a134525d51a6912f39/settings/Controller/CheckSetupController.php#L107-L109

App Store Browsing

App Install (required for actual downloads)

  • many different servers incl. CDNs and cloud providers better not to whitelist

=> Alternative: Don't allow direct downloads, instead, manually follow download links from https://apps.nextcloud.com and manually extract package, copy to apps folder, and enable. Or, allow admin to upload locally downloaed package to NC instance.

Federation

  • whatever other servers

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in settings/Controller/CheckSetupController.php around lines 107-109, where the current arbitrary connectivity addresses are checked. Review the existing setup-check flow and the listed update and app-store destinations. Done means the admin interface checks the required destinations and reports missing connectivity, while federation and app-download limitations remain appropriately indicated.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.