<?xml version='1.0' encoding="UTF-8"?>
<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/source_mirrors.xml,v 1.33 2008/12/18 21:00:25 robbat2 Exp $ -->
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">

<guide link="/doc/en/source_mirrors.xml">

<title>Gentoo Linux Source Mirrors Policy</title>

<author title="Author">
  <mail link="klieber@gentoo.org">Kurt Lieber</mail>
</author>
<author title="Editor">
  <mail link="cshields@gentoo.org">Corey Shields</mail>
</author>
<author title="Editor">
  <mail link="bennyc@gentoo.org">Benny Chuang</mail>
</author>
<author title="Editor">
  <mail link="jforman@gentoo.org">Jeffrey Forman</mail>
</author>
<author title="Editor">
  <mail link="robbat2@gentoo.org">Robin H. Johnson</mail> 
</author>
<author title="Editor">
  <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
</author>

<abstract>
This document explains the requirements for source mirrors.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
<license/>
<version>1.10</version>
<date>2008-12-18</date>

<chapter>
<title>Requirements</title>
<section>
<title>Minimum Bandwidth</title>
<body>

<p>
To properly host a source mirror, you should have a minimum of 5Mbps upstream
bandwidth. ADSL and cable connections do not generally make adequate
connections for distfile hosts due to their limited upstream performance.
</p>

</body>
</section>
<section>
<title>Minimum Disk Space</title>
<body>

<p>
The space requirements depend on whether you choose to run a "Full" mirror or a
"Distfiles only" mirror. Full mirrors require 130 GB of disk space.  Distfiles
only mirrors require 80 GB of space.
</p>

</body>
</section>
<section>
<title>Minimum User Count</title>
<body>

<p>
We ask that you support a minimum of 15 and preferrably 30 concurrent user
connections.
</p>

</body>
</section>
<section>
<title>Update Frequency</title>
<body>

<p>
All mirrors must be synchronized every four hours, starting at midnight in your
local time zone.  This helps distribute the load out over a period of time,
rather than having all mirrors synchronize at the same time.
</p>

</body>
</section>
<section>
<title>Mirror Needs</title>
<body>

<p>
Your mirror may not be added immediately to our listing and given access to the
private distribution point. We add mirrors on an as-needed basis so as not to
clutter up the listing, and to provide an adequate amount of high speed mirrors.
You are more than welcome to peek in <uri
link="irc://irc.gentoo.org/gentoo-mirrors">#gentoo-mirrors</uri> on IRC and chat
up to see the status of your mirror being added to our official network.
</p>

</body>
</section>
</chapter>

<chapter>
<title>Implementation details</title>
<section>
<body>

<p>
For new source mirror requests, the procedure will be as follows:
</p>

<p>
Set up your server to rsync with ftp.ussg.iu.edu::gentoo-distfiles. Once you
have a complete mirror of that server, please file a bug report on <uri
link="http://bugs.gentoo.org/enter_bug.cgi?product=Mirrors">bugs.gentoo.org</uri>
under the <c>Mirrors</c> category stating that you have a new mirror and wish
it to be added to the list of official mirrors.  Please specify whether you
wish to be a "Full" mirror or "Distfiles only" mirror. Distfiles
only mirrors will be designated as such on the website.
</p>

<p>
Full mirrors must carry the following directories (plus any directories that
get added in the future):
</p>

<ul>
  <li>/releases (20G)</li>
  <li>/experimental (20-30G)</li>
  <li>/distfiles (80G)</li>
  <li>/snapshots (0.5G)</li>
  <li>/grp</li>
</ul>

<p>
Distfiles only mirrors need to carry the following directories:
</p>

<ul>
  <li>/distfiles (80G)</li>
  <li>/snapshots (0.5G)</li>
</ul>

<p>
We will then verify that the mirror exists and we can connect to it properly.
Then, in the next 48-72 hours, we will determine if your mirror is syncing
correctly and in accordance with this policy.
</p>

<p>
If all steps went smoothly, we will then add you to our list of <uri
link="/main/en/mirrors.xml">download mirrors</uri> on the main web site.  We
will also send you the login information for our private master distfile mirror
which is only available to official Gentoo Linux source mirrors.
</p>

<p>
Additionally, you, the mirror admin, will be requested to subscribe to the
gentoo-mirrors mailing list (low traffic) so that you can follow all issues
associated with source mirrors.
</p>

<note>
Thanks for helping out Gentoo Linux users and developers! :) For any mirror
administration issues or problems, please contact <mail
link="mirror-admin@gentoo.org">mirror-admin@gentoo.org</mail>.
</note>

<warn>
Do NOT email mirror-admin@gentoo.org for mirror requests, please file a bug. It
makes mirror tracking easier on us.
</warn>

</body>
</section>
</chapter>

<chapter>
<title>Short FAQ</title>
<section>
<title>
Q: Who should I contact regarding new mirrors or to get my mirror added to the
Gentoo web site?
</title>
<body>

<p>
A: Please file a bug on bugs.gentoo.org under the <c>Mirrors</c> category.
</p>

</body>
</section>
<section>
<title>Q: Who should I contact regarding mirror issues and maintenance?</title>
<body>

<p>
A: Please file a bug on bugs.gentoo.org under the <c>Mirrors</c> category.
</p>

</body>
</section>
<section>
<title>
Q: I run a private source mirror for my company.  Can I still access the
private master source mirror?
</title>
<body>

<p>
A: Because our resources are limited, we need to ensure we allocate them in
such a way to provide the maximum amount of benefit to our users.  As such, we
limit connections to our master rsync and distfile mirrors to public mirrors
only.  Users are welcome to use our regular mirror system to establish a
private source mirror.
</p>

</body>
</section>
<section>
<title>Q: How do I find the mirror nearest to me?</title>
<body>

<p>
A: mirrorselect was designed to do this for you. If you haven't already run
<c>emerge mirrorselect</c>, then please do so.  Then run: <c>mirrorselect</c>.
An ncurses-based menu will display allowing you to select a mirror close to
you.
</p>

</body>
</section>
<section>
<title>
Q: I don't have that much disk space.  Can I mirror part of the sources?
</title>
<body>

<p>
A: Yes, if you are unable to mirror our full sources, you can elect to mirror
the following two directories only:
</p>

<ul>
  <li>/distfiles</li>
  <li>/snapshots</li>
</ul>

<p>
These two directories will require approximately 50GB of space and you will be
listed on our site as a distfiles-only mirror.
</p>

</body>
</section>
<section>
<title>
Q: Do I have to turn on Directory Indexing for directories served up via HTTP?
</title>
<body>

<p>
A: Directory Indexing is required for the /releases and /experimental
directories, but can be turned off for all other directories (including
/distfiles) if you wish.
</p>

</body>
</section>

<section>
<title>Q: Do I have to mirror historical? I mean, it is old releases.</title>
<body>

<p>
A: Of course not, it is quite a bit of data. In your rsync command, add
<path>--exclude=/releases/historical</path> to your rsync options.  This will
exclude historical and save you quite a bit of space.
</p>

</body>
</section>
</chapter>
</guide>
