Mirror Requirements
From ArchServer Wiki
- Connectivity speeds at least 1mb/1mb.
- Ability to synchronise with the master server at least daily.
- All mirrors must be made publicly available by HTTP. Public availability via FTP and RSYNC preferred.
- At least 10gb free space available for ArchServer repos.
- At least 1 static IP address available for mirror; does not need to be dedicated - HTTP virtual hosting and/or subdirectories (eg /pub/archserver/) can be used. Static IP is required for whitelisting access to rsync on master server to allow pulling of updates.
- All current releases and repositories must be mirrored and updated (ie, server-core, server-extra and server-community and testing)
If you can satisfy these requirements and wish to become a mirror, please send an e-mail confirming you can meet these requirements and with the following details to sysop@archserver.org
- The IP address that rsync connections will originate from.
- The server's physical location (City and Country)
- The URI's where the ArchServer tree will be available (eg, http://mirror.myserver.com/archserver/ and ftp://ftp.myserver.com/pub/archserver/ etc)
- Contact details for server admin.
Update Script
Remember to update the DEST, UNAME and GROUP options. Please ensure the 'lastsync' file stores both UTC and the local server timestamps if you do not use this script.
#!/bin/bash SRC='rsync://repo.archserver.org/repo' DEST='/srv/ftp/pub/archserver' RSYNC_OPTS="--quiet --recursive --times --links --delay-updates --delete --hard-links --compress --ipv4 $1" UNAME='ftp' GROUP='ftp' RSYNC='/usr/bin/rsync' CHOWN='/bin/chown' CHMOD='/bin/chmod' DATE='/bin/date' echo "Starting to sync from master repository @ '$SRC'..." $RSYNC $RSYNC_OPTS $SRC/ $DEST/ $CHOWN -R $UNAME:$GROUP $DEST $CHMOD -R u=rwX,go=rX $DEST $DATE -u > $DEST/lastsync $DATE >> $DEST/lastsync exit 0
Private Mirrors
You are welcome to setup your own private mirrors, however:
- Private mirrors will not be supported by the ArchServer team
- Private mirrors will not be granted whitelist access to the master rsync server. You must pull from a child mirror.