Custom Extension Repository

TYPO3 provides functionality that connects to a different repository type than the "official" TER (TYPO3 Extension Repository) to download third-party extensions. The API is called "Extension Remotes". These remotes are adapters that allow fetching a list of extensions via the ListableRemoteInterface or downloading an extension via the ExtensionDownloaderRemoteInterface.

It is possible to add new remotes, disable registered remotes or change the default remote.

Custom remote configuration can be added in the Configuration/Services.yaml of the corresponding extension.

extension.remote.myremote:
  class: 'TYPO3\CMS\Extensionmanager\Remote\TerExtensionRemote'
  arguments:
    $identifier: 'myremote'
    $options:
       remoteBase: 'https://my_own_remote/'
  tags:
    - name: 'extension.remote'
      default: true
Copied!

Using default: true, "myremote" will be used as the default remote. Setting default: true only works if the defined service implements ListableRemoteInterface.

Please note that Vendor\SitePackage\Remote\MyRemote must implement ExtensionDownloaderRemoteInterface to be registered as remote.

To disable an already registered remote, enabled: false can be set.

extension.remote.ter:
  tags:
    - name: 'extension.remote'
      enabled: false
Copied!