# Installing IAM Console

Guide to install IAM Console using Docker.

## Prerequisites

- Docker
- 8GB RAM
- &gt; 10GB disk space (50GB recomended)
- [Supported database installed](https://bookstack.soffid.com/books/installation/page/initialize-database-using-docker)

## Repositories

Soffid 3 uses the public Docker Hub: [https://hub.docker.com/r/soffid/iam-console/](https://hub.docker.com/r/soffid/iam-console/)

Soffid 4 uses the Google Cloud Artifact Registry, contact to Soffid when you need access to it.

## Video Tutorial

<iframe allowfullscreen="allowfullscreen" height="314" src="//www.youtube.com/embed/pEP76i7nX2M?rel=0" width="560"></iframe>

## Installation

To configure IAM console, the following environment variables can be set:

<table border="1" id="bkmrk-variable-description" style="width: 807px; height: 490.4px;"><tbody><tr bgcolor="#ddd" style="height: 29.6px;"><td align="center" style="width: 179px; height: 29.6px;">Variable</td><td align="center" style="width: 307px; height: 29.6px;">Description</td><td align="center" style="width: 321px; height: 29.6px;">Example</td></tr><tr style="height: 80px;"><td style="width: 179px; height: 80px;">DB\_URL</td><td style="width: 307px; height: 80px;">JDBC URL</td><td style="width: 321px; height: 80px;">jdbc:mariadb://dbcontainer/soffid

jdbc:oracle:thin:@HOST:PORT:SID  
jdbc:oracle:thin:@//HOST:PORT/SERVICENAME

</td></tr><tr style="height: 29.6px;"><td style="width: 179px; height: 29.6px;">DB\_USER</td><td style="width: 307px; height: 29.6px;">Database user</td><td style="width: 321px; height: 29.6px;">Soffid</td></tr><tr style="height: 29.6px;"><td style="width: 179px; height: 29.6px;">DB\_PASSWORD</td><td style="width: 307px; height: 29.6px;">Database password</td><td style="width: 321px; height: 29.6px;">5uper5ecret</td></tr><tr style="height: 29.6px;"><td style="width: 179px; height: 29.6px;">JAVA\_OPT</td><td style="width: 307px; height: 29.6px;">Java virtual machine options</td><td style="width: 321px; height: 29.6px;">-Xmx4096m</td></tr><tr style="height: 29.6px;"><td style="width: 179px; height: 29.6px;">SECURE</td><td style="width: 307px; height: 29.6px;">(optional) Enables the Java Security Manager</td><td style="width: 321px; height: 29.6px;">true</td></tr><tr style="height: 57.6px;"><td style="width: 179px; height: 57.6px;">SOFFID\_TRUSTED\_SCRIPTS</td><td style="width: 307px; height: 57.6px;">(optional) Allows you to use insecure classes.

Available since console version 3.5.6

</td><td style="width: 321px; height: 57.6px;">true

false

</td></tr><tr style="height: 80px;"><td style="width: 179px; height: 80px;">HIDE\_MENU</td><td style="width: 307px; height: 80px;">(optional) Allows you to hide the Console menu options.

Available since console version 3.5.6

</td><td style="width: 321px; height: 80px;">soffid.admin

You can choose the proper option from the Console.yaml file.

</td></tr><tr style="height: 124.8px;"><td style="width: 179px; height: 124.8px;">AUTH\_METHODS</td><td style="width: 307px; height: 124.8px;">(optional) Allows to force the authentication mechanisms. This configuration overrides the one configured in the authentication option of the Soffid console.

Available since console version 3.5.6

</td><td style="width: 321px; height: 124.8px;">Options

SAML

PASSWORD

SAML PASSWORD

</td></tr><tr><td style="width: 179px;">EXTERNAL\_URL</td><td style="width: 307px;">(optional) Allows to override host name configuration when there are two Consoles.

Available since console version 3.5.9.5

</td><td style="width: 321px;">https://soffid.lab.internal.com

</td></tr></tbody></table>

Additional parameters to configure the database connections. Allows you to establish the min and the max of database connections:

<table border="1" id="bkmrk-variable-description-0" style="border-collapse: collapse; width: 100%;"><tbody><tr bgcolor="#ddd"><td align="center" style="width: 26.1987%;">Variable</td><td align="center" style="width: 55.8529%;">Description</td><td align="center" style="width: 17.9237%;">Example</td></tr><tr><td style="width: 26.1987%;">DBPOOL\_MIN\_IDLE</td><td style="width: 55.8529%;">The minimum number of connections should be kept in the pool at all times.</td><td style="width: 17.9237%;">1 or 2</td></tr><tr><td style="width: 26.1987%;">DBPOOL\_MAX\_IDLE</td><td style="width: 55.8529%;">The maximum number of connections should be kept in the pool at all times.</td><td style="width: 17.9237%;">between 10 and 15</td></tr><tr><td style="width: 26.1987%;">DBPOOL\_INITIAL</td><td style="width: 55.8529%;">The connection number will be established when the connection pool is started.</td><td style="width: 17.9237%;">3 or 4</td></tr><tr><td style="width: 26.1987%;">DBPOOL\_MAX</td><td style="width: 55.8529%;">The maximum number of active connections that can be allocated. If no value is indicated, the default value is 30.

The transaction fails if the maximum connections are reached within 30 seconds and no connection is released.

</td><td style="width: 17.9237%;">25</td></tr></tbody></table>

The following volumes must be defined by default:

<table border="1" id="bkmrk-volume-usage-%2Fopt%2Fso"><tbody><tr bgcolor="#ddd"><td align="center" style="width: 267px;">Volume</td><td align="center" style="width: 542px;">Usage</td></tr><tr><td style="width: 267px;">/opt/soffid/iam-console-4/logs</td><td style="width: 542px;">Console log files `/opt/soffid/iam-console-4/logs`</td></tr><tr><td style="width: 267px;">/opt/soffid/iam-console-4/index</td><td style="width: 542px;">Text search engine index files. It can be erased at any time. The engine will regenerate the search engine. `/opt/soffid/iam-console-4/index/`

</td></tr><tr><td style="width: 267px;">/opt/soffid/iam-console-4/conf</td><td style="width: 542px;">Configuration files, including server.xml and tomee.xml files `/opt/soffid/iam-console-4/conf`</td></tr></tbody></table>

Here you have a sample command to start a docker container running IAM console, in this case the docker will be in a docker network, previously created. MariaDB docker is at the same network.<svg height="16" viewbox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"></svg>

```shell
docker run -d \
   -e DB_URL=jdbc:mariadb://mariadb-service/soffid \
   -e DB_USER=soffid \
   -e DB_PASSWORD=soffid \
   --name=iam-console \
   --publish=8080:8080 \
   --network=soffidnet \
   soffid/iam-console
```

To see console log files, execute:

```shell
docker logs -f iam-console
```

<div id="bkmrk-by-default%2C-the-8080"><div><div><div><div>By default, the 8080 port will be exposed. When the TLS connection is going to be configured, add the tag --publish=443:443 to publish the TLS port.</div><div>  
</div></div></div></div></div><p class="callout info">When the console is created, the password for the user *admin* will be *changeit* and it will be valid for 24 hours.</p>

<p class="callout info">Now you can connect the Soffid Console [<span style="text-decoration: underline;">http://localhost:8080/soffid</span>](http://localhost:8080/soffid)/The first thing you must do is to change the admin user password. </p>

<div id="bkmrk--2"></div><div id="bkmrk--3"></div><p class="callout info">Next Step: [Installing Sync server](https://bookstack.soffid.com/books/installation/page/installing-sync-server-b3e "Installing Sync server")</p>