Troubleshooting
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 may be unable to install packages. You may 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 we recommend consulting our Terms of Service error page to resolve the matter.
SSL-related 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
We recommend 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.
-
First, place a
cacert.pem
file in${BASE_INSTALL_DIR}/config/cacert.pem
. You can obtain this file from any conda environment withcertifi
package installed ($<CONDA_PREFIX>/ssl/cacert.pem
) or from one of the TE docker containers: -
Concatenate the necessary root certs in pem format:
-
You now have two options for updating the TE application to use the docker-host
cacert.pem
:-
Edit the
docker-compose.yml
file and add volume mounts tonginx_proxy
,repo_api
,repo_worker
andrepo_dipacher
, 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, we recommend 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.
When TE is installed, 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/main
and 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 TE containers. For this reason, we recommend
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:
-
In the installation directory, update
config/nginx/conf.d/repo.conf
to include theadd_header
directive somewhere in theserver
block: -
Create a directory called
redis
in the configs directory: -
Create a file called
redis.conf
insideconfig/redis
with the following contents: -
Update the
docker-compose.yml
file of TE installation to mount this custom redis config: -
Update
REDIS_ADDR
variable in.env
file to include password: -
Restart docker-compose services so changes are picked up. You can do this using:
Was this page helpful?