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.

Deployment

Deploy vanilla image

eSign Server’s vanilla image creates a container using a in-memory H2 database and all default configurations.

The vanilla image of eSign Server is used exclusively for testing purposes and should never be deployed on real environments.

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-server \ (1)
	--rm \ (2)
	-it \ (3)
	-d \ (4)
	-p 8080:8080 \ (5)
	-e ESIGN_SERVER_DB_DIALECT=org.hibernate.dialect.PostgreSQLDialect \ (6)
	-e ESIGN_SERVER_DB_DRIVER=org.postgresql.Driver \ (7)
	-e ESIGN_SERVER_DB_URL=jdbc:postgresql://your_database:5432/esign \ (8)
	-e ESIGN_SERVER_DB_USER=esign \ (9)
	-e ESIGN_SERVER_DB_PASSWORD=esign \ (10)
	esigncelfocus.azurecr.io/esignserver:<VERSION> (11)
1 Container name
2 Remove containers on kill (instead of manually doing docker rm esign-server)
3 Enable input, tty
4 Detach container and run (you can follow the start up process using docker logs -f esign-server)
5 Expose port 8080 of the container as port 8080 in the host (this is the port where the instance will be available)
6 Configure the ESIGN_SERVER_DB_DIALECT environment variable, which determines the dialect used to communicate with the database
7 Configure the ESIGN_SERVER_DB_DRIVER environment variable, which determines the JDBC driver used to connect to the database (ex: org.postgresql.Driver)
8 Configure the ESIGN_SERVER_DB_URL environment variable, which determines the JDBC connection to access the database
9 Configure the ESIGN_SERVER_DB_USER environment variable, which determines the user used to connect to the database
10 Configure the ESIGN_SERVER_DB_PASSWORD environment variable, which determines the password used to connect to the database
11 Container image to run (must replace <VERSION> with the actual version you which to run)

Deploy Custom image

eSign Server image was designed to be extended with custom layers. In these layers you will be able to (among other) customize:

  • Branding

  • Security settings

  • Custom extension points

To deploy a previously created eSign Server custom image 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-server \ (1)
	--rm \ (2)
	-it \ (3)
	-d \ (4)
	-p 8080:8080 \ (5)
	-e ESIGN_SERVER_DB_DIALECT=org.hibernate.dialect.PostgreSQLDialect \ (6)
	-e ESIGN_SERVER_DB_DRIVER=org.postgresql.Driver \ (7)
	-e ESIGN_SERVER_DB_URL=jdbc:postgresql://your_database:5432/esign \ (8)
	-e ESIGN_SERVER_DB_USER=esign \ (9)
	-e ESIGN_SERVER_DB_PASSWORD=esign \ (10)
	<YOUR_CUSTOM_IMAGE>:<YOUR_VERSION> (11)
1 Container name
2 Remove containers on kill (instead of manually doing docker rm esign-server)
3 Enable input, tty
4 Detach container and run (you can follow the start up process using docker logs -f esign-server)
5 Expose port 8080 of the container as port 8080 in the host (this is the port where the instance will be available)
6 Configure the ESIGN_SERVER_DB_DIALECT environment variable, which determines the dialect used to communicate with the database
7 Configure the ESIGN_SERVER_DB_DRIVER environment variable, which determines the JDBC driver used to connect to the database (ex: org.postgresql.Driver)
8 Configure the ESIGN_SERVER_DB_URL environment variable, which determines the JDBC connection to access the database
9 Configure the ESIGN_SERVER_DB_USER environment variable, which determines the user used to connect to the database
10 Configure the ESIGN_SERVER_DB_PASSWORD environment variable, which determines the password used to connect to the database
11 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-server

Test Instance

The running instance will be available at: http://localhost:8080/eSignServer