The Bioconductor package repositories may be mirrored with
If you would like to become a mirror for package and data package
repositories, please use the commands below.
We have recently increased security requirements for the public Bioconductor
mirror sites. A mirror is considered “public” if it’s an option in R’s
chooseBioCmirror() function and listed on our mirror
page. Public site maintainers must support https on their
site and use secure rsync when retrieving packages from the master. If you are
interested in hosting a publicly available mirror site, please send a suitable
public key to
Once your key is added to the
bioc-rsync account you can
master.bioconductor.org as this user. You can use a config file to manage your
ssh keys or include the full path to your key in the
rsync -e "ssh -i path/to/your/key" firstname.lastname@example.org ...
To host a non-secure mirror (maybe for internal purposes), invoke
the rsync commands without the
bioc-rsync user, e.g.,
rsync -avn master.bioconductor.org::release ## check size rsync -zrtlv --delete master.bioconductor.org::release /dest/packages/release rsync -zrtlv --delete master.bioconductor.org::devel/bioc /dest/packages/devel etc ...
If you want to mirror the current Bioconductor release version (currently 3.4), use the following commands:
Pick a destination directory where files will be mirrored. Let’s say
this will be in
/dest. This directory should be served by your web
server. Under that you’ll need a directory called
directory must be present as it is part of the structure of a
Bioconductor repository. Underneath
packages should be a directory
corresponding to the versions of Bioconductor that you will host. The
current release version is 3.4 and the
current devel version is 3.5. We recommend
you use symlinks called
devel that always point to the
current release and devel versions; this way you will never have to
change your rsync commands. But you should change the symlink
targets with every Bioconductor release (see the
release schedule for exact dates).
commands will create the directory structure you’ll need (remember
/dest is just an example of the destination directory
you could use; you can put this directory anywhere on your system
where there is enough free space).
mkdir -p /dest/packages mkdir /dest/packages/3.4 # current release mkdir /dest/packages/3.5 # current devel ln -s /dest/packages/3.4 /dest/packages/release # change these links ln -s /dest/packages/3.4 /dest/packages/devel # every 6 months (with Bioc release)
rsync -e "ssh" -zrtlv --delete email@example.com:release /dest/packages/release
rsync -e "ssh" -zrtlv --delete firstname.lastname@example.org:release/bioc /dest/packages/release /bioc
rsync -e "ssh" -zrtlv --delete email@example.com:release/data /dest/packages/release/data
rsync -e "ssh" -zrtlv --delete firstname.lastname@example.org:release/extra /dest/packages/release/extra
If you want to mirror the Bioconductor devel repos (currently 3.5), please use the following commands:
rsync -e "ssh" -zrtlv --delete email@example.com:devel /dest/packages/devel
rsync -e "ssh" -zrtlv --delete firstname.lastname@example.org:devel/bioc /dest/packages/devel/bioc
rsync -e "ssh" -zrtlv --delete email@example.com:devel/data /dest/packages/devel/data
rsync -e "ssh" -zrtlv --delete firstname.lastname@example.org:devel/extra /dest/packages/devel/extra
Make sure the directory above
packages is served by a web server.
Bioconductor is big (> 188GB for BioC 3.5).
Please check the size of what will be transferred with e.g.
rsync -e "ssh"
-avn email@example.com:release and make sure you have enough
room on your local disk before you start.
It is recommended that package repositories be synced once per day, scheduled with cron.
Begin using your new local repository by making it accessible on your webserver. See the “contriburl” option to install.packages() (utils) for more information.