Project:Infrastructure/Mirrors/Source

Source (or "distfile") mirrors distribute the source archives for the software included in Gentoo as well as stages and tree snapshots for installation.

This document is intended for parties interested in providing a community source mirror.

Requirements

 * Bandwidth
 * You need to have a minimum of 5 MBit/s upstream capacity on a permanent connection, but we recommend at least 100 Mbit. DSL, cable, or other dial-up connections are not suited for hosting a mirror. The very low requirement is intended for parts of the world where high bandwidth is not available.


 * Storage
 * Hosting a mirror requires a minimum of 550 GiB available disk space.


 * Transmission protocols
 * Users must be able to reach your mirror via HTTP and/or HTTPS (with valid certificates). In addition to either or both of these protocols, you can provide access via rsync. IPv6 connectivity is strongly encouraged. Previously, this document also offered FTP, but that is no longer recommended.


 * Simultaneous connections
 * We ask that you support a minimum of 15 and preferably 30 or more concurrent user connections.


 * Update frequency
 * All mirrors must be synchronized every four hours, starting at midnight in your local time zone.


 * Contact and information policy
 * Your administrative contact must react to enquiries as soon as possible and resolve issues within two weeks. We expect to be notified in the event of any changes or prolonged outages.

Becoming a community mirror
If your hardware and connection fulfill the requirements stated above, we would love to have you as a community mirror.

Initial setup
First, you need to fetch the mirror data. You can do so via rsync from. (Note: When you are added to the community mirror list, you will receive access to our master source mirror.)

You should have the following directories:


 * (HTTP mirrors: Directory listing required)
 * (HTTP mirrors: Directory listing required)

You may exclude  to save some space. Do not exclude any other directories.

Be sure to set up a cronjob to update your data according to the requirements (every 4 hours, starting midnight local time).

Requesting inclusion
When your mirror has completed fetching the data and your update cronjob is in place, please file a ticket to inform us about your new mirror: File ticket

You need to have an account on bugs.gentoo.org and be logged in to file the ticket. Please fill in all fields with the relevant information, and include whatever else you think may be important to let us know.

Inclusion process
When we are ready to process your request, your mirror is added to our mirror monitoring system for a period of at least 2 weeks. During this time, we will update you with any issues we find on the ticket you have filed.

Should the service quality of your mirror meet our standards, we will then add it to the community mirror listing and provide you with access information to the master source mirror.

If any issues remain after a certain period of time that would impact the service negatively, we may decline your request. In this case, you can re-request the inclusion of your mirror after a period of 6 months.

After the inclusion
First of all, thank you for contributing to the Gentoo project.

Please ensure that your administrative contact is subscribed to the low traffic gentoo-mirrors mailing list which is used to publish announcements for all mirror admins. You can do so by sending an empty message to [mailto:gentoo-mirrors+subscribe@lists.gentoo.org gentoo-mirrors+subscribe@lists.gentoo.org].

When anything changes (be it that you're physically moving, or need to change the URL, or have a new admin contact), please be sure to let us know immediately. You can reach us via email at [mailto:mirror-admin@gentoo.org mirror-admin@gentoo.org], or you can file a ticket on bugs.gentoo.org in the Mirrors product.