## Hardware requirements 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](https://docs.docker.com/engine/install/) 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](/products/namirialpkiaas/one-shot/enterprise-documentation/administrator-guides/configuration/service-settings#redis-connection) 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](https://docs.docker.com/engine/install/)** — Choose your distribution (e.g. Ubuntu, Debian, RHEL) and follow the steps. - **[Install Docker Compose](https://docs.docker.com/compose/install/)** — 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: ```bash 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: ```bash cd /opt/optimizer_docker/ docker-compose up -d ``` Check that all services are running: ```bash docker-compose ps ``` All services should show status **Up**. Default ports and how to change them are documented in [Ports](/products/namirialpkiaas/one-shot/enterprise-documentation/administrator-guides/configuration/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](/products/namirialpkiaas/one-shot/enterprise-documentation/administrator-guides/configuration/service-settings) (certificates folder, `settings.toml`). Restart the service after editing: ```bash cd /opt/optimizer_docker docker-compose restart ``` ## Next steps - [Configuration overview](/products/namirialpkiaas/one-shot/enterprise-documentation/administrator-guides/configuration/overview) — Ports, logs, rootstore, service settings - [Rootstore](/products/namirialpkiaas/one-shot/enterprise-documentation/administrator-guides/configuration/rootstore) — Required for LTV/LTVLITE signature levels - [Logs](/products/namirialpkiaas/one-shot/enterprise-documentation/administrator-guides/configuration/logs) — Troubleshooting