Skip to content
Last updated

The following system requirements are recommended for a One-Shot Optimizer deployment:

  • CPU: Modern multicore (minimum 4 cores)
  • RAM: 8 GB
  • Disk: 200 GB
  • Operating system: Linux or any environment where Docker is available (see Docker install documentation for your distribution)

Deployment model

One-Shot Optimizer is supplied as a Docker image and deployed with Docker Compose. Extract the provided optimizer_docker.zip and copy its content to the server (e.g. /opt).

Services deployed

When you start the service with docker-compose up -d, two containers are launched:

  • Optimizer — Exposes the One-Shot REST API and handles signature requests.
  • Redis — In-memory store used by the Optimizer to cache heavy, non-sensitive data and improve the efficiency of the signing flow. Redis does not store any sensitive information, document data, or the document itself; only operational cache data used to improve performance.

The Optimizer communicates with Redis constantly for this cache. If Redis is not available, the Optimizer falls back to storing and retrieving the same information locally, so the service continues to work without Redis, albeit with different performance characteristics.

Redis runs as a basic instance with no special configuration. The Optimizer discovers the Redis container on the same Docker network using the hostname redis and the default Redis port. To use a different Redis host or port, you must configure it in the Optimizer (see Service settings and the settings.toml file; Redis connection options will be documented there when available).


Step 1: Install Docker and Docker Compose

Install Docker Engine and Docker Compose on your server by following the official documentation for your operating system:

  • Install Docker Engine — Choose your distribution (e.g. Ubuntu, Debian, RHEL) and follow the steps.
  • Install Docker Compose — Docker Compose is often available as a plugin; the install guide covers Linux, macOS, and Windows.

After installation, run sudo docker run hello-world to verify that Docker is working correctly.


Step 2: Extract and copy One-Shot Optimizer content

Extract all content from optimizer_docker.zip into a local folder. Copy that folder to /opt on the server (e.g. /opt/optimizer_docker). The result should include:

  • optimizer_data (folder)
  • docker-compose.yml
  • environment
  • uanatacaoptimizer.tar.gz

Step 3: Volume mapping

In high-performance environments with a pool of Optimizers, service settings, data, and logs should be stored on a shared volume outside the Optimizer servers. Define these volumes in the docker-compose.yml file for each One-Shot Optimizer instance. For a single instance, the default volume configuration in the provided docker-compose.yml is sufficient.


Step 4: Load the One-Shot Docker images

From the optimizer directory:

cd /opt/optimizer_docker/
docker image load -i uanatacaoptimizer.tar.gz
rm -rf /opt/optimizer_docker/uanatacaoptimizer.tar.gz

Step 5: Launch the service

Start the services in detached mode:

cd /opt/optimizer_docker/
docker-compose up -d

Check that all services are running:

docker-compose ps

All services should show status Up. Default ports and how to change them are documented in Ports. The two containers (Optimizer and Redis) share the same Docker network in docker-compose.yml, so the Optimizer reaches Redis at hostname redis by default.


Step 6: Service settings

After the first run, configure billing credentials, certificates, and optional defaults in the Service settings (certificates folder, settings.toml). Restart the service after editing:

cd /opt/optimizer_docker
docker-compose restart

Next steps