Docker Deployment

To deploy the solution using Docker images, you will require a compatible engine, for example Docker Desktop (specifically Docker Engine), Rancher or Podman.

Before we start

Remember that eSign Portal requires a database. Ensure that a database instance is already available before starting this guide.
(eSign Portal will be able to deploy the required database table, and other resources, on the first run)

Deployment

To deploy a vanilla eSign Server container execute the following command:

This is a base example, values of environment variables need to be changed to match your use case.
docker run \
	--name esign-portal \ (1)
	--rm \ (2)
	-it \ (3)
	-d \ (4)
	-p 9000:9000 \ (5)
	-e ESIGN_ADMIN_USERNAME=admin \ (6)
	-e ESIGN_ADMIN_PASSWORD=admin \ (7)
	-e ESIGN_UAM_DB_DRIVER=org.h2.Driver (8)
	-e ESIGN_UAM_DB_URL=jdbc:h2:mem:esign (9)
	-e ESIGN_UAM_DB_USERNAME=sa (10)
	-e ESIGN_UAM_DB_PASSWORD= (11)
	-e ESIGN_SERVER_URL=http://localhost:8080 \ (12)
	-e ESIGN_SERVER_USERNAME=admin \ (13)
	-e ESIGN_SERVER_PASSWORD=admin \ (14)
	esigncelfocus.azurecr.io/esign-portal:<VERSION> (15)
1 Container name
2 Remove containers on kill (instead of manually doing docker rm esign-portal)
3 Enable input, tty
4 Detach container and run (you can follow the start up process using docker logs -f esign-portal)
5 Expose port 9000 of the container as port 9000 in the host (this is the port where the instance will be available)
6 Configure the ESIGN_ADMIN_USERNAME environment variable, which determines the username of the administrator user
7 Configure the ESIGN_ADMIN_PASSWORD environment variable, which determines the password of the administrator user (this is only applied the first time the application connects with the database)
8 Configure the ESIGN_UAM_DB_DRIVER environment variable, which determines the JDBC driver used to connect to the database (ex: org.postgresql.Driver)
9 Configure the ESIGN_UAM_DB_URL environment variable, which determines the JDBC connection to access the database
10 Configure the ESIGN_UAM_DB_USERNAME environment variable, which determines the user used to connect to the database
11 Configure the ESIGN_UAM_DB_PASSWORD environment variable, which determines the password used to connect to the database
12 Configure the ESIGN_SERVER_URL environment variable, which determines endpoint where the eSign Server instance
13 Configure the ESIGN_SERVER_USERNAME environment variable, which determines username used to authenticate in the eSign Server instance (the user most be previously configured in the eSign Server instance)
14 Configure the ESIGN_SERVER_PASSWORD environment variable, which determines password used to authenticate in the eSign Server instance
15 Container image to run (must replace <VERSION> with the actual version you which to run)

Check logs

You can check the logs with:

docker logs -f esign-portal

Test Instance

The running instance will be available at: http://localhost:9000/esign