Hi all, I need to host private packages for my team to use internally, but haven’t been able to figure it out. I opened a support ticket on support.anaconda.com
and they directed me to ask here.
(As a new community member I cannot include links or images in my question so have removed screenshots and backticked all links, sorry for the inconvenience).
The steps I have tried so far:
Following the instructions on https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/create-custom-channels.html
I first tried creating a private package on anaconda.org
. I created an account on anaconda.org
, then built and uploaded a package using anaconda login
, anaconda upload
. This works fine for a public package, I am able to install it locally as expected. However when I try to make the package private under settings > admin I get a message saying that I need to upgrade my plan. The Upgrade Plan button takes me to a billings page on anaconda.org
with no options to upgrade but a link to anaconda.com/pricing
.
After reading through the Anaconda Professional docs I thought that a subscription would allow me to create private packages. I subscribed my organisation to Anaconda Professional, then added my user to the organisation and assigned myself a seat. Following the Quickstart instructions I then created a token to gain access to repo.anaconda.cloud
and used anaconda token set
to authenticate with Anaconda Professional. When I run conda info
I see that my channel URLs point to repo.anaconda.cloud
as expected.
However after following these instructions I still do not understand how to create private packages under repo.anaconda.cloud
or on anaconda.com
. As far as I can tell my account on anaconda.org
is distinct from my account on anaconda.cloud
and my Anaconda Professional subscription has not affected my permissions or billing information there. When I try to make a package private on anaconda.org
I get the same message as before saying that I need to upgrade my plan. I have also tried using anaconda login
with the credentials for my anaconda.cloud
without any success, and running anaconda upload
still pushes packages to anaconda.com
and makes them public.
My questions now are:
- Is there a way to connect the accounts on
anaconda.org
and anaconda.cloud
so that I am able to make packages on anaconda.org
private?
- Does the Anaconda Professional subscription include the ability to create private packages, repos or channels? Maybe I have misunderstood the features provided. Is there a way to upload packages to
repo.anaconda.cloud
and make them private there?
Thanks for your help!
Freddie
1 Like
dear Freddie_Ruxton.
thank you for posting.
Normally, this is a question that should be answered by Anaconda’s tech support, but it seems that the sales person has asked for it, so I will answer it.
this first question.
Is there a way to connect the accounts on anaconda.org
and anaconda.cloud
so that I am able to make packages on anaconda.org
private?
Although the question is different from your question, it contains a similar problem, so I will provide a reference URL.
I’ll summarize the answers for the important points.
- Make sure that you are using a valid token to authenticate to the anaconda.cloud professional repository.
- Troubleshooting — Anaconda documentation This link tells you how to turn off ssl_verify. If that is the problem, the connection should work with ssl off. Many people do use it that way. However, if your company needs ssl_verify on, you will have to work with your IT or Network Department to resolve the issue.
- If you need to use Anaconda behind a firewall or proxy, instructions for doing so can be found here: Troubleshooting — Anaconda documentation Corporate security policies may prevent a new Anaconda installation from downloading packages and other functionality that requires connecting to an external server. To make external connections you may need to connect to a firewall/proxy. Additionally, your IT team may need to allow connections to https://anaconda.org and https://repo.anaconda.com and https://repo.anaconda.cloud/ as these are the main package repositories.*
2nd question.
Does the Anaconda Professional subscription include the ability to create private packages, repos or channels? Maybe I have misunderstood the features provided. Is there a way to upload packages to repo.anaconda.cloud
and make them private there?
Similarly, questions about adding to repositories will also provide helpful URLs.
However, even these answers don’t mention how to make the repository private. Basically, products developed with Anaconda are under Open Source (BSD, MIT, PSL, GPL, Mozilla, Google, Apache), so it is a principle that they should be made public.
However, it may be possible to keep it private if a privileged mode exists. For more information, please contact Anaconda Tech Support.
Regards, you.
ktsh.tanaka.2020
Hi ktsh.tanaka.2020 thanks for the fast and detailed response even though I’m asking in the wrong place!
I have been able to connect to repo.anaconda.cloud from anaconda desktop navigator and have installed packages from those repos, so I believe my token is valid and my connection is working. Is it necessary to run anaconda login
before uploading packages to repo.anaconda.cloud when using a token? Should anaconda upload
point to repo.anaconda.cloud automatically after running conda token set
?
python - How can I host my own private conda repository? - Stack Overflow
This question is about hosting on an internal server. I was hoping to be able to host packages without needing to figure out how to get a server up and running so that other machines can pull the packages from there. I have been looking at alternatives such as JFrog but thought that hosting packages was a core feature of Anaconda.
However, even these answers don’t mention how to make the repository private. Basically, products developed with Anaconda are under Open Source (BSD, MIT, PSL, GPL, Mozilla, Google, Apache), so it is a principle that they should be made public
I am not sure I fully understand the principle here. Why is there an option in the anaconda.org
UI to make packages private if not to do exactly that?
Thanks again for your help,
Freddie
1 Like
dear Freddie_Ruxton.
thank you for reply.
I will answer your questions below.
I have been able to connect to repo.anaconda.cloud from anaconda desktop navigator and have installed packages from those repos, so I believe my token is valid and my connection is working. Is it necessary to run anaconda login
before uploading packages to repo.anaconda.cloud when using a token?
Should anaconda upload point to repo.anaconda.cloud automatically after running conda token set?
If the token is valid, “Both are true.”
I will also answer the following questions.
I am not sure I fully understand the principle here. Why is there an option in the anaconda.org
UI to make packages private if not to do exactly that?
This feature is useful when building an Anaconda server in your organization. For example, in the IT department of Toyota Motor Corporation, if you build a server with Anaconda installed in the company server and use it exclusively (if the license is single) or have a site license , and when you want to prohibit access from other departments.
Initially, I thought of the question as making the anaconda.org cloud server private. However, I think I was able to give a clear answer to your question this time.
Please have a nice day.
Regards, you.
ktsh.tanaka.2020
Thanks for the help ktsh.tanaka.2020,
So just to clarify, the steps after setting a token are:
- Run
anaconda login
and use my credentials to anaconda.cloud, not anaconda.org (this does not work for me currently, I will try following the debugging steps you provided above).
- Run
anaconda upload
to upload the package to repo.anaconda.cloud
And after uploading the package it should only be available to download/install by members of my organisation who also have a valid token?
Best,
Freddie
1 Like
Dear Freddie_Ruxton.
Thank you for reply.
And after uploading the package it should only be available to download/install by members of my organisation who also have a valid token?
exactly. If you do so, you won’t have any trouble downloading the necessary packages, setting up SSL, etc.
A secure communication with Anaconda’s servers is performed to download the update files and the correct packages.
I wish you all the best in your success.
Best, regards.
ktsh.tanaka.2020
Hi ktsh.tanaka.2020,
That’s great, thank you so much for all your help!
Best,
Freddie
1 Like