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:

User anaconda-admin created, realm=dev, roles=admin
password: J86j193PwaH92tjIN5J78m67
User admin created, realm=master, roles=admin
password: 79g2X1Zx02iY9RKe729MP38Y

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