.. _bundled-installers:

Customized Anaconda Installers
==============================

Anaconda Repository can distribute copies of the Anaconda Distribution
installers (version 4.1 and higher) and the Miniconda installers (version
4.1.11 and higher) that are pre-configured to use your installation of Anaconda
Repository.

By default the installers will be stored in
``$PREFIX/opt/anaconda-server/installers``. If you prefer to store the
installers in a different location, configure a new path::

    anaconda-server-config --set INSTALLER_DIR /preferred/directory

NOTE: Replace "/preferred/directory" with the path to the directory where you
prefer to store the installers.

To download the installers:

.. code:: bash

    mkdir -p /tmp/extras
    pushd /tmp/extras

    URL="http://repo.continuum.io"

    version="4.4.0"
    miniconda="Miniconda3-latest-Linux-x86_64.sh \
        Miniconda3-latest-MacOSX-x86_64.sh \
        Miniconda3-latest-Windows-x86.exe \
        Miniconda3-latest-Windows-x86_64.exe \
        Miniconda-latest-Linux-x86_64.sh \
        Miniconda-latest-MacOSX-x86_64.sh \
        Miniconda-latest-Windows-x86.exe \
        Miniconda-latest-Windows-x86_64.exe"
    anaconda="Anaconda2-$version-Linux-x86_64.sh \
        Anaconda3-$version-Linux-x86_64.sh \
        Anaconda2-$version-MacOSX-x86_64.sh \
        Anaconda3-$version-MacOSX-x86_64.sh \
        Anaconda2-$version-MacOSX-x86_64.pkg \
        Anaconda3-$version-MacOSX-x86_64.pkg \
        Anaconda2-$version-Windows-x86_64.exe \
        Anaconda3-$version-Windows-x86_64.exe"

    for installer in $miniconda; do
        curl -O $URL/miniconda/$installer
    done
    for installer in $anaconda; do
        curl -O $URL/archive/$installer
    done

    # Move the files into the installers directory
    popd
    cp -a /tmp/extras $PREFIX/opt/anaconda-server/installers

The installers will be available for download from ``http://your.anaconda.server:port/downloads``.

NOTE: Replace "your.anaconda.server:port" with the name or IP address and port
of your Anaconda server.

The resulting download will be a zip file containing the Anaconda distribution
and the configuration files specific to your server. These zip files will be
cached in the server's configured storage for quick retrieval.

To pre-generate these installer bundles based on the downloaded installers, or
to re-generate after downloading new installers, execute the command:

.. code:: bash

    anaconda-server-admin update-installers

This command requires that the ``SERVER_NAME`` :ref:`setting <server-name>` be set in order to generate the
correct URLs.

By default, the included ``conda`` installation will point to the ``anaconda`` and ``r-channel`` accounts on
your Anaconda Repository server, if those accounts exist. The channels included in this default configuration
can be adjusted by setting the ``DEFAULT_CHANNELS`` :ref:`setting <default-channels>`, and running the
``anaconda-server-admin update-installers`` command.
