Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Your own package server for a bundle

When a bundle needs its own package server or a mirror of the public one, the settings that point an installation at it (RemotePackagesIndexURL, RemotePackagesIndexURLBase, Vendor, ezupdate servers), the warning that…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/bundlers/your-own-package-server.md

On this page

Your own package server for a bundle

This page is for bundlers who install site packages from a server they control: a mirror of the public package server, or a server with their own packages. The reference pages are Running your own package server and Pointing a site at your package server.

Contents

  1. When you need one
  2. What a package server is
  3. Pointing a bundle at it
  4. Adding it to ezupdate
  5. Keeping it current

When you need one

SituationPackage server
The bundle installs only the public 7x packages and may follow their fixesnone: use the public server
The bundle must install exactly the tested packagesa mirror you control, or ship the files (Offline bundles)
The bundle installs your own site packageyour own server, or ship the file
Many installations in a network without internet accessa mirror inside the network

What a package server is

"The package server is a static HTTPS site ... It has one folder per Exponential release with an index.xml and the .ezpkg files" (Site packages: start here). Any web server that serves static files is enough. The index.xml format is on The index.xml format.

Pointing a bundle at it

The setting lives in settings/package.ini [RepositorySettings]; a bundle overrides it in settings/override/package.ini.append.php, before the installer runs:

<?php /* #?ini charset="utf-8"?
[RepositorySettings]
RemotePackagesIndexURL=https://packages.example.com/exponential/6.0/6.0.15
*/ ?>

or with the release path filled in automatically:

[RepositorySettings]
RemotePackagesIndexURL=
RemotePackagesIndexURLBase=https://packages.example.com/exponential

When RemotePackagesIndexURL is empty, the site types step "takes RemotePackagesIndexURLBase and appends /<major.minor>/<version>/". settings/package.ini also has AdditionalRemotePackagesIndexURLs[], read after RemotePackagesIndexURL; see Package server settings for every key.

Warning

"Your index replaces the 7x index; it is not added to it. Only the packages your index.xml lists can be downloaded, so list every package your site package requires" (Pointing a site at your package server).

If your packages use their own vendor (<vendor>example</vendor>) and you want offline installs from them, set Vendor=example in the same override (The Vendor setting).

Adding it to ezupdate

Installed sites look for updated packages through ezupdate. Add your server on Setup > Updates and packages > Package servers, or:

php extension/ezupdate/bin/php/ezupdate.php server-add ezpkg example https://packages.example.com/exponential/6.0/6.0.15
php extension/ezupdate/bin/php/ezupdate.php packages example

It is written to settings/override/ezupdate.ini.append.php. "ezupdate needs an https:// address" (Offline installs and mirrors).

Keeping it current

  • A mirror of the public server follows its fixes only if you update it: git pull in a Git mirror and rewrite the addresses in index.xml again, or download again and compare checksums (Keeping a mirror current).
  • Decide per bundle whether the mirror follows every fix or stays at a tested state; "a host that installs many customer sites usually tests first".
  • Check every address of the index answers 200 before each bundle release.
  • Check the installer against the server with exp:install --package=<name> --dry-run, which "downloads the site package and its requirements into var/storage/packages/dryrun/".

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x