MirrorBrain is modular and the requirements vary according to the used functionality. Below is an overview on requirements. Please refer to the installation documentation for the full, detailed list of requirements, including platform-specific notes.

Apache 2.2.6 or newer

is required to run mod_mirrorbrain, the core of MirrorBrain. In addition, the module needs mod_form, an additional Apache module.

While mod_mirrorbrain can work without GeoIP, it needs libGeoIP and mod_geoip GeoIP-based (geographical) mirror selection to work.

PostgreSQL database server

mod_mirrorbrain isn't actually bound to a particular database; any database that the Apache DBD API has a driver for could be used. The admin framework and tool set however is currently provided for PostgreSQL only, which will effectively tie most installs to PostgreSQL.


mod_asn is not required, but optional for refined mirror selection and full exploitation of network locality. If you need it or not is discussed in Installing mod_asn. If you decide to install it, it has additional prerequirements listed here.

Tool set and admin framework

  • Python and some modules: psycopg2, sqlobject, cmdln.
  • Perl and some modules: Config::IniFiles, libwww::perl, DBD::Pg, Digest::MD4, Date::Parse

Hardware requirements

Hardware needs are mediocre by all means; MirrorBrain needs few resources.

A local file tree

Normally, the file tree to be served needs to be accessible locally by the Apache that runs mod_mirrorbrain. (See FAQ.)

Alternatively, a pseudo file tree can created locally. In that case, MirrorBrain needs to be configured to never deliver files directly.

Mirror servers

As necessary ingredient, there need to be mirror servers. They need to serve content via HTTP or FTP. To be scanned, they need to run rsync, FTP or HTTP (where rsync is most efficient).