Skip to content

Commit c399e38

Browse files
mergify[bot]kamal2730kscottzfujitatomoya
authored
docs: create ROS 2 mirrors guide (#6199) (#6334) (#6439)
* docs: create ROS 2 mirrors guide (#6199) Adds a verified list of global mirrors categorized by region and includes technical instructions for setting up new mirrors. * docs(mirrors): fix linting issues * mirrors:moved page from How to Guides to Installation --------- (cherry picked from commit 7a76c54) Co-authored-by: kamal2730 <[email protected]> Co-authored-by: Katherine Scott <[email protected]> Co-authored-by: Tomoya Fujita <[email protected]>
1 parent e99c6c3 commit c399e38

2 files changed

Lines changed: 121 additions & 0 deletions

File tree

source/Installation.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Options for installing ROS 2 {DISTRO_TITLE_FULL}:
1717
Installation/Maintaining-a-Source-Checkout
1818
Installation/Testing
1919
Installation/RMW-Implementations
20+
Installation/ROS-2-Mirrors
2021

2122
.. _binary-package-platforms:
2223

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
=======
2+
Mirrors
3+
=======
4+
5+
.. contents:: Table of Contents
6+
:depth: 3
7+
8+
Docs Mirrors
9+
------------
10+
11+
Mirrors of the ROS Docs act as a backup when the `main site <http://docs.ros.org>`_ is unavailable, and may provide faster access to users who are geographically closer to the mirror.
12+
13+
Debian/Ubuntu (APT) Repository Mirrors
14+
--------------------------------------
15+
16+
To use these mirrors, replace the official ROS repository URL with the one listed below in your APT configuration.
17+
18+
Asia
19+
^^^^
20+
21+
.. list-table::
22+
:widths: 30 20 50
23+
24+
* - Tsinghua University (TUNA)
25+
- China
26+
- `https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/ <https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu/>`_
27+
* - USTC
28+
- China
29+
- `https://mirrors.ustc.edu.cn/ros2/ubuntu/ <https://mirrors.ustc.edu.cn/ros2/ubuntu/>`_
30+
* - Alibaba Cloud (Aliyun)
31+
- China
32+
- `https://mirrors.aliyun.com/ros2/ubuntu/ <https://mirrors.aliyun.com/ros2/ubuntu/>`_
33+
* - Qilu University of Technology (QLU)
34+
- China
35+
- `https://mirrors.qlu.edu.cn/ros2/ubuntu/ <https://mirrors.qlu.edu.cn/ros2/ubuntu/>`_
36+
37+
Europe
38+
^^^^^^
39+
40+
.. list-table::
41+
:widths: 30 20 50
42+
43+
* - TU Delft
44+
- Netherlands
45+
- `http://ftp.tudelft.nl/ros2/ubuntu/ <http://ftp.tudelft.nl/ros2/ubuntu/>`_
46+
47+
North America
48+
^^^^^^^^^^^^^
49+
50+
.. list-table::
51+
:widths: 30 20 50
52+
53+
* - University of Maryland (UMD)
54+
- USA
55+
- `http://mirror.umd.edu/packages.ros.org/ros2/ubuntu/ <http://mirror.umd.edu/packages.ros.org/ros2/ubuntu/>`_
56+
57+
Oceania
58+
^^^^^^^
59+
60+
.. list-table::
61+
:widths: 30 20 50
62+
63+
* - AARNet
64+
- Australia
65+
- `https://mirror.aarnet.edu.au/pub/ros2-packages/ubuntu/ <https://mirror.aarnet.edu.au/pub/ros2-packages/ubuntu/>`_
66+
67+
South America and Africa
68+
^^^^^^^^^^^^^^^^^^^^^^^^
69+
70+
There are currently no officially verified ROS 2 mirrors for these regions.
71+
If you are hosting a mirror in South America or Africa and would like it listed here, please see the **Hosting a Mirror** section below.
72+
73+
Creating a mirror
74+
-----------------
75+
76+
If you are maintaining a mirror please join the Mirrors category on discourse.openrobotics.org: `https://discourse.openrobotics.org/c/infrastructure-project/infra-mirrors/ <https://discourse.openrobotics.org/c/infrastructure-project/infra-mirrors/>`_ for both feedback and prompt updates.
77+
78+
Using a Mirror
79+
^^^^^^^^^^^^^^
80+
81+
To use a mirror, replace ``packages.ros.org`` with the mirror URL in your ``ros2-latest.list`` file:
82+
83+
.. code-block:: bash
84+
85+
# Example for TUNA mirror
86+
sudo sed -i 's|http://packages.ros.org/ros2/ubuntu|https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu|g' /etc/apt/sources.list.d/ros2-latest.list
87+
sudo apt update
88+
89+
Setting up a Mirror
90+
-------------------
91+
92+
The ROS infrastructure uses ``rsync`` to distribute packages.
93+
To create a local mirror of the ROS 2 repositories:
94+
95+
1. **Storage Requirement:** Ensure you have at least 500GB of available disk space.
96+
2. **Sync Command:** Use ``rsync`` to pull from the official OSUOSL endpoints:
97+
98+
.. code-block:: bash
99+
100+
# Sync the main ROS 2 repository
101+
rsync -azv rsync.osuosl.org::ros2-main /your/local/path --delete
102+
103+
3. **Maintenance:** Set up a ``cron`` job to sync every 6-12 hours.
104+
105+
Adding your mirror to this list
106+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
107+
108+
To be officially listed, your mirror must meet the following requirements:
109+
110+
* Support **HTTPS**.
111+
* Sync at least once every 24 hours.
112+
* Provide a contact email for infrastructure alerts.
113+
114+
Once verified, please open a Pull Request against this page or post in the `Mirrors Discourse <https://discourse.openrobotics.org/c/infrastructure-project/infra-mirrors/>`_.
115+
116+
Mirroring docs.ros.org
117+
----------------------
118+
119+
Mirroring the documentation site requires specific configuration to prevent search engine fragmentation.
120+
If you are interested in hosting a regional mirror of the documentation, please **contact the infrastructure team** via Discourse before proceeding.

0 commit comments

Comments
 (0)