Standard installation

This topic provides guidance on installing Anaconda Server and verifying your installation.

Note

To successfully install Anaconda Server, you must have already prepared your environment according to the Standard environment preparation topic.


Installing Anaconda Server

Ensure you are in the same directory as the installer when completing these steps.

Installing with root access

Run the following in bash:

# Replace "x.x.x" with the version number.
# Replace "hostname of the target host" with the hostname of the server, which you will
#  use to access Anaconda Server. This could be internal or external (accessible from the internet).
./ate-x.x.x-installer.sh --keep -- --domain <the IP or hostname of the target host> --default-user anaconda

During installation, credentials will be printed as a random string in the terminal for two separate roles:

  • Admin - for administration in Keycloak
  • “default-user” - for administration in Anaconda Server UI.

Note

You will need the user names and passwords printed on the screen later, so save them!

Example output:

Within the ate-x.x.x-installer/ folder is the install.sh script and docker-compose.yml file, which defines how the Anaconda Server services are run.

Installing without root access

It is also possible to run the installer without root permission. However, this requires additional manual steps:

Add yourself to the docker group by running the following command:

# Replace <USERNAME> with your Anaconda username.
sudo usermod -a -G docker <USERNAME>

Enable port forwarding as root or with sudo:

sudo sysctl net.ipv4.conf.all.forwarding=1
sudo iptables -P FORWARD ACCEPT

By default, /opt/anaconda/repo is used as the default path for the installation folder. You can either create the folder manually by assigning write access to the current user, or use -b (--base-install-dir parameter of the installer to specify the folder for installation).

Within the ate-x.x.x-installer/ folder is the install.sh script and docker-compose.yml file, which defines how the Anaconda Server services are run.


Manual verification of installation

Services are one-to-one to containers. Therefore, verifying that all major containers are up and not restarting or failing is a good first step.

In a terminal, run:

docker ps

You should see output similar to the following:

../_images/output.png

It is important to note that each container appears in the output:

  • Installer_repo_api
  • Installer_nginx_proxy
  • Installer_repo_worker
  • Installer_repo_dispatcher
  • Installer_repo_proxy
  • Installer_keycloak
  • Installer_postgres
  • Installer_redis

It is also important to note that the status of each container is “Up”, and that it does not get stuck in a restart loop.

Finally, you should be able to use a browser to navigate to the domain that you supplied when executing the installer. If you are able to successfully authenticate and use the product, it has installed correctly.


Next steps

After the installation has completed, open a browser and visit the domain you used during the product installation.

Warning

Never delete the install directory containing the docker-compose.yml and .env files.

Further installation options can be seen by running the following command (after the basic installation is complete):

# Replace "x.x.x" with the version number
./ate-x.x.x-installer/install.sh --help

This will present you with the following list of possible arguments:

     
Arguments (shorthand) Arguments (longhand) Description
-r DOCKER_REGISTRY –registry DOCKER_REGISTRY Docker registry, url:port (default uses the system Docker daemon)
-h POSTGRES_HOST –pg-host POSTGRES_HOST Postgresql host (default is on internal Postgres instance)
-p POSTRES_PORT –pg-port POSTRES_PORT Postgresql port
-u POSTGRES_USER –pg-user POSTGRES_USER Postgresql user
-pw POSTGRES_PASSWORD –pg-password POSTGRES_PASSWORD Postgresql password (will set the internal Postgres instance password)
-e REDIS_URL –redis REDIS_URL REDIS_URL Redis URL (default is an internal Redis instance)
-d DOMAIN –domain DOMAIN External domain (or IP) of host system
-c TLS_CERTIFICATE –tls-cert Path to TLS certification file for optionally configuring HTTPS
-k TLS_KEY –tls-key TLS_KEY Path to TLS key file for optionally configuring HTTPS
  –default-user DEFAULT_USER Default user name
  –custom-ca-cert CA_CERTIFICATE Path to custom CA certification, which should be respected
  –custom-cve-source CVE_DEFAULT_MIRROR For Airgaped environments provide a custom source for CVE data
  –upgrade-from PREVIOUS_DIR Previous install folder
-l –no-image-load Don’t load Docker images
-y –no-prompt Answer yes to all prompts
  – help Print help text