In order to mirror, you must first create a channel for your organization to use.
Common use case of channel filtering with multiple mirrors configured to that channel: You can set up multiple mirrors into a single channel of whatever artifacts you choose. Filters can be set at the channel level to apply to all mirrors of a channel, or at the mirror level to apply to specific mirrors. For example, say you want to achieve the following mirroring goals:
- Prevent all packages with a GPL license from being mirrored
- Prevent a specific Windows package from getting into the channel
This topic provides guidance on the following actions:
- Creating mirrors
- Editing mirrors
- Viewing mirror history
- Viewing all repository mirrors
- Viewing mirror status by channel
Creating mirrors
To create a mirror, click the green Mirror button from any channel page.

Active or passive mirroring
Mirroring can be either active or passive. An active mirror would clone channel artifacts with their binary content (files) and metadata. A passive mirror would only clone channel artifacts metadata, while the actual files would be fetched on demand (on first request). Essentially, when you mirror actively, you’re really mirroring passively and manually going through and fetching files from the upstream channel.Defining your external source and mirror type
Please allowlist the following URLs before mirroring:
- http://repo.anaconda.com/
- http://repo.anaconda.cloud/
- http://anaconda.org/
- http://pypi.python.org/
- http://anaconda.com/
- api.anaconda.cloud
- repo.anaconda.org
- https://files.pythonhosted.org/

Make sure to add the specific PyPI packages you’d like to mirror to the Projects cell. Hit enter after typing in the name of each package. This will turn the name blue, indicating that the package you entered has been accepted.


<URL>/api/repo/<CHANNEL_NAME>
.
For example, if my Anaconda Server URL is https://example.com
, and the channel I want to mirror is named main_channel
then my external source channel is https://example.com/api/repo/main_channel
.
If the source channel is an active mirror, the mirror you are creating can be active or passive. However, if the source channel is a passive mirror, the mirror you are creating must also be passive. The mirror you are creating will have access to all packages that are actively present in the source channel.
Mirroring filters
Package filters
You can filter which packages will be included in a mirror in the Package Filters section on the Edit mirror page. Include and exclude by package name and license type.
When limiting the mirror to specific architecture, it’s a good idea to include the
noarch
package type to ensure that cross-platform packages are included. For example, if you have no need for Windows-compatible packages, you would include win-32
, win-64
, and noarch
package types.Date range filters
You can also filter packages by the date the package was modified on the source site.
View channel filters
Click the View Channel Filters button at the bottom of the Package Filters section on the Edit mirror page to view the filters applied to all mirrors within the channel.
Mirror frequency
You can modify how frequently a channel is mirrored at the bottom of the Edit mirror page. You can also run the mirror immediately by checking the box beside Run Now. Custom mirroring frequency expressions are written in cron syntax. You can use https://crontab.guru to learn about and validate cron expressions.Mirroring large channels, such as anaconda repository main for conda-forge, can take several hours. It is not recommended to set a frequency higher than daily due to mirror collision between current and updating mirrors.

Even if you want to run the mirror immediately by selecting the Run Now checkbox, you still need to set a frequency for how often you would like the channel updated to reflect the current state of the mirrored repository.
Editing mirrors
Click the three dots on a mirror, and then click Edit.

Edit mirror frequency
You can modify how frequently a channel is mirrored at the bottom of the Edit mirror page. You can also run the mirror immediately by checking the box beside Run Now. Custom mirroring frequency expressions are written in cron syntax. you can use https://crontab.guru to learn about and validate cron expressions.Mirroring large channels, such as anaconda repository main for conda-forge, can take several hours. It is not recommended to set a frequency higher than daily due to mirror collision between current and updating mirrors.

Viewing mirror history
You can view the history of mirrors you have created by clicking the History tab in a channel. On the History page, you will see the following possible states for mirroring:- completed
- failed
- pending
- running

Viewing all repository mirrors
View mirror progress and results globally for all users from the All Repository Mirrors view.



Viewing mirror status by channel
View the status of a channel’s mirror from the channel view. Select a mirror, then click on Details to view the status details of the mirror.