> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation instructions

This topic provides guidance on the following actions:

* [Installing with root access](#installing-with-root-access)
* [Installing without root access](#installing-without-root-access)
* [Next steps](#next-steps)

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

## Installing with root access

Run the following in bash:

```sh theme={null}
# 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 Team Edition. 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
```

<Note>
  Default admin and `default-user` credentials will be printed to the screen during installation, as seen below. The Admin credentials are for Keycloak administration, while the `default-user` credentials are for admin-level Team Edition administration. The passwords are set to a random string and printed during the install, as show here. You'll need these user names and passwords later.
</Note>

**Example output:**

```sh theme={null}
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 Teams services are run. These are the entry points into a more advanced configuration of Anaconda Teams Edition x.x.x.

## Installing without root access

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

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

   ```sh theme={null}
   # Replace <USERNAME> with your Anaconda username.
   sudo usermod -a -G docker <USERNAME>
   ```

2. Enable port forwarding as root or with `sudo`:

   ```sh theme={null}
   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-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 Teams services are run. These are the entry points into a more advanced configuration of Anaconda Teams Edition x.x.x.

## 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.
</Warning>

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

```sh theme={null}
# 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 POSTGRES_PORT`        | `--pg-port POSTGRES_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 (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                                                      |
| `-l`                      | `--no-image-load`                 | Don’t load Docker images                                               |
| `-y`                      | `--no-prompt`                     | Answer yes to all prompts                                              |
|                           | `--help`                          | Print help text                                                        |
