Internal package hosting

Many customers maintain internal mirrors of public package repos. This is typically done while they use a whitelist to remove access to external, public repositories. This might be for security or for standardization.

You can add the following to the Dockerfile instructions in your global Compute Environments to set Conda, pip, or RStudio to reference your internal mirrors by default:

RUN
   # Add $CUSTOMER mirrors to condarc config files. Also disabled auto_update since mirrors are not always up to date.
   printf "
channels:
  - $CUSTOMER_CHANNEL_1
  - $CUSTOMER_CHANNEL_1

" >> /opt/conda/.condarc &&
   printf "
allow_other_channels: False
" >> /opt/conda/.condarc &&
   printf "
ssl_verify: False
" >> /opt/conda/.condarc &&
   printf "
show_channel_urls: True
" >> /opt/conda/.condarc &&
   printf "
auto_update_conda: False
" >> /opt/conda/.condarc &&

   # Pointing R to $CUSTOMER CRAN mirror
   printf "
local({
  r <- getOption('repos')
  r['CRAN'] <- '$CRAN_MIRROR_URL'
 options(repos = r)
})
" >> /home/ubuntu/.Rprofile &&

   # Pointing pip to $CUSTOMER PyPi mirror
   printf "[global]
index-url=$CUSTOMER_PYPI_MIRROR
trusted-host=$IP_OR_FQDN" > /etc/pip.conf &&

   chown -R ubuntu:ubuntu /home/ubuntu /opt/conda/