Skip to main content
This page details some common issues and their respective workarounds. For Anaconda installation or technical support options, visit our support offerings page.

Conda: Channel is unavailable/missing or package itself is missing

Cause

After you have configured your .condarc for either Team Edition or Commercial Edition, in some cases you might be unable to install packages. You might receive an error message that the channel or package is unavailable or missing.

Solution

One potential fix for all of these is to run the following command:
This will clear the index cache and force conda to sync metadata from the repo server.

403 error

Cause

A 403 errors is a generic Forbidden error issued by a web server in the event the client is forbidden from accessing a resource. The 403 error you are receiving may look like the following:
  • The user has misconfigured their channels in their configuration (most common)
  • A firewall or other security device or system is preventing user access (second most common)
  • We are blocking their access because of a potential terms of service violation (third most common)

Solution

If you have ruled out the first two reasons to your 403 error, then Anaconda recommends consulting our Terms of Service error page to resolve the matter.

SSL issues

If you experience any trouble regarding SSL errors, confirm that you are adhering to the guidance in this section.

Moving CA certs to the docker-host

Anaconda recommends mounting the cacert.pem file to the docker-host and concatenating the required root CAs to that file on the docker-host, rather than copying the file to the containers.
  1. First, place a cacert.pem file in ${BASE_INSTALL_DIR}/config/cacert.pem. You can obtain this file from any conda environment with certifi package installed ($<CONDA_PREFIX>/ssl/cacert.pem) or from one of the docker containers:
  2. Concatenate the necessary root certs in pem format:
  3. You now have two options for updating the application to use the docker-host cacert.pem:
    • Edit the docker-compose.yml file and add volume mounts to nginx_proxy, repo_api, repo_worker and repo_dispatcher, or
    • Use a separate .yml file (shown below) and let docker-compose merge it with the stock one when starting up:

Storing user credentials

If the proxy connection requires credentials, Anaconda recommends storing the credentials in the .env file (located in the same folder as the docker-compose.yml file) and referencing it in docker_compose.yml so that docker-compose.yml is readable for a broader set of users. During installation, an .env file is created alongside the docker-compose.yml file by default. You can edit this file and add variables to be referenced in the docker-compose.yml file as follows:
Then, merge the following with existing compose content in the docker-compose.yml file. Notice the environment variable from .env being referenced in the environment variables:

Local mirrors

Another option is mirroring locally. You can do this by getting packages into an admin-managed channelsay, ananconda/mainand then mirroring filtered packages from that channel to other channels. This will make TE the source for the mirror. As such, TE needs to be able to validate its own certificate, which in most cases won’t work (in very much the same way PROXY with terminating SSL will not work). For this to work, then, you will most likely need to update the cacert.pem file of all containers. For this reason, Anaconda recommends hosting the cacert.pem file on the docker-host instead of the containers.

SSL verification error

Cause You may receive an SSL verification error if you have SSL enabled with a self-signed certificate. Solution Run the following command to disable SSL certificate check:
Run the following to verify the above command worked:

Using Redis

Cause By default, Redis does not require a password. Not enabling a password requirement leaves your instance of Team Edition vulnerable. Solution Follow these steps to password protect your instance:
  1. In the installation directory, update config/nginx/conf.d/repo.conf to include the add_header directive somewhere in the server block:
  2. Create a directory called redis in the configs directory:
  3. Create a file called redis.conf inside config/redis with the following contents:
  4. Update the docker-compose.yml file to mount this custom redis config:
  5. Update REDIS_ADDR variable in .env file to include password:
  6. Restart docker-compose services so changes are picked up. You can do this using: