For the complete documentation index, see llms.txt. This page is also available as Markdown.

Installation via domain

This page provides a step-by-step walkthrough of the installation wizard for SigningHub installation using a domain name instead of an IP address. In the walkthrough below, a fresh installation is being performed using the default MSSQL database configuration.

NGINX Deployment Flexibility in Docker Installer

The Docker deployment now provides enhanced flexibility by allowing users to choose between using a bundled NGINX instance or integrating with an externally managed NGINX setup.

External NGINX Integration (IP-based Deployment)

If the client chooses to use their own NGINX instance, the deployment must be performed using an IP address.

  • In this mode:

    • The Docker installer will not deploy or configure an NGINX container.

    • The client is responsible for configuring their external NGINX.

    • The external NGINX must be connected to the same Docker network as the application containers to ensure proper communication.

Bundled NGINX (Domain-based Deployment)

If the client opts to use the NGINX provided by the Docker package, the deployment must be performed using a domain name.

  • In this mode:

    • The Docker installer will automatically create a dedicated NGINX container.

    • All required NGINX configurations will be automatically generated and applied.

Important Notes

  • IP-based deployment → External NGINX only (no NGINX container installed).

  • Domain-based deployment → Bundled NGINX is automatically installed and configured.

  • External NGINX must reside on the same Docker network as the application containers; otherwise, connectivity issues may occur.


Run Interactive Installation

Run the included script to launch the installation wizard. It will configure your environment, update settings, and start the required containers.


Wizard Flow

The installation wizard takes you through these steps:


Step 1: Configure Mandatory Settings

You will be prompted to enter:

  1. Public Host Configuration

    • Enter the hostname where SigningHub will be accessible.

    • Examples: mydomain.com

    • Wizard output confirms:

  2. SigningHub Package Configuration

    • Select an option (e.g., 1 2) to confirm the SigningHub Package, in case multiple .zip files are available in the directory. In case of a single .zip file, no confirmation will be required.

    • Wizard output confirms:


Step 2: Select Installation Type

The wizard presents two options:

Select an option (e.g., 1 for FRESH INSTALLATION) and confirm output:


Step 3: Configure ADSS Server

Enter the host IP or domain name where the ADSS Service is deployed:


Step 4: Select Database Type

Choose the database to use:

Confirm output:


Step 5: Select Installation Mode

Select the installation mode:

Confirm output:

  1. Prior to the SigningHub-Docker-v10.0.4-Package, Oracle Database supported only 'Custom Mode'. From the SigningHub-Docker-v10.0.4-Package onwards, both 'Custom Mode' and 'Default Mode' are supported, giving users the option to use either configuration.


Step 6: Select Modules to Deploy

Choose which SigningHub services you want to deploy:

Confirm output:


Step 7: Configure Custom Subdomains (Domain Deployment)

Either provide a custom subdomain for the selected modules, or press 'Enter' to use default subdomains.


Step 8: Configuration Summary

Review the final summary:


Step 9: Apply Configuration

Wizard updates all configuration files and confirms:


Step 10: Start Installation

The installation now takes place with info and success messages appearing periodically.

Wizard output:


Access Information

When installation is complete, the wizard displays the access URLs:


Post Installation

Domain-Based Deployment – SSL Certificate Options

For domain-based deployments, the SSL certificate can be replaced after the Docker package has been installed and is running. This allows you to renew or replace the certificate without rebuilding Docker images or modifying the application configuration.

Updating the SSL Certificate

If the deployment is already running and the SSL certificate needs to be replaced (for example, after the certificate expires), you can update it without reinstalling the application.

Copy the new .pfx certificate into each SigningHub container, replacing the existing certificate located at:

Use the following commands to copy the certificate into all SigningHub containers:

After copying the certificate, choose one of the following options depending on whether you want to use the default certificate name or a custom certificate name.


Option 1 – Use the Default Certificate Name

Rename your SSL certificate to the default filename:

Copy the renamed certificate to:

Update the Certificate Password

Update the certificate password in the .env files.

For the following modules:

  • admin-api

  • admin

  • api

  • core

Set:

For the web module, set:

Alternatively, execute the following commands from the SigningHub Docker package directory (for example, /opt/SigningHub-Docker):

Save the Updated Certificate in the Docker Images

After updating the .env files and copying the certificate into the running containers, commit each container to create updated Docker images tagged as latest.

Recreate the containers using the updated images:

Restart NGINX (If Required)

If the application is not accessible after recreating the containers, restart the NGINX container:


Option 2 – Use a Custom Certificate Name

If you prefer to use your own certificate filename, place the certificate at:

Update the Certificate Path and Password

For the following modules:

  • admin-api

  • admin

  • api

  • core

Set:

For the web module, set:

Alternatively, execute the following commands from the SigningHub Docker package directory (for example, /opt/SigningHub-Docker).

Before running the commands, replace NewPassword with the password of your .pfx certificate. If you are using a custom certificate name, also replace own_certificate.pfx with your actual certificate filename.

Save the Updated Certificate in the Docker Images

After updating the .env files and copying the certificate into the running containers, commit the containers to create updated images.

Recreate the containers:

Restart NGINX (If Required)

If the application is still not accessible after recreating the containers, restart the NGINX container:

Notes

  • Replace NewPassword with the actual password of your .pfx certificate.

  • Ensure the certificate is copied into all SigningHub containers before committing the images.

  • Committing the containers preserves the updated certificate and configuration so they remain available when the containers are recreated.

  • Restarting the NGINX container is only required if the application remains inaccessible after the containers have been recreated.


  1. The Docker images for SigningHub were built using Debian GNU/Linux as the base operating system.

  2. To stop and remove all containers, networks, and volumes, run the following command. This will completely remove the deployed containers and associated data volumes. docker compose --profile first-time down -v To remove the nginx container, run the following command: docker compose --profile domain down -v If you want to run the installer a second time, you should first stop and remove any already running containers. After that, run the ./state-remove.sh script to remove the state, and then you can initialise the startup again.

  3. If you want to view other Docker-related commands, refer to the README.md file in the SigningHub Docker Package.

Last updated