Skip to main content

Snapshot Blur Offline Installation

This guide explains how to deploy Snapshot Blur on a machine without internet access, working together with Snapshot SDK running offline. Snapshot Blur requires Snapshot SDK, so both components must be installed and licensed on the offline machine.

For installing Snapshot SDK alone (with a regular, online license), see the Snapshot SDK installation guide. For the offline Snapshot SDK setup, see the Snapshot Offline Installation guide.

SectionDescription
System RequirementsDocker, images, and license files needed before you begin.
1. Obtain config.datRequest the Blur configuration file from our support team.
2. Prepare the project folderCreate the Compose files and .env file.
3. Start Snapshot SDK + BlurLaunch the services with Docker Compose.
License UpdatesReplace your license files and restart services.

System Requirements

  • Docker and Docker Compose installed on the offline machine
  • Snapshot Blur and Snapshot SDK Docker images transferred to the offline machine. See the Snapshot Offline Installation guide for how to pull, save and load Docker images.
  • License files for both Snapshot Blur (license_blur) and Snapshot SDK (license_snapshot) already activated and copied to the offline machine.
  • Snapshot SDK device.conf and config.dat already fetched.

1. Obtain the Snapshot Blur config.dat from us

Contact our support team to obtain the config.dat file for your Snapshot Blur license. This file contains the necessary configuration data required for offline installation. Provide your license key when contacting support.

2. Prepare the project folder

Create a project folder that will hold the Compose files, the .env file and the two license_* directories. All commands below should be run from this folder.

2.1 Create the .env file

Create a .env file in the project folder. This file is the same one used by the online Blur installation guide, edited with your LICENSE_KEY and TOKEN.

.env
COMPOSE_PROJECT_NAME=blur

LICENSE_KEY=YOUR_LICENSE_KEY
TOKEN=YOUR_TOKEN

SKEW_CORRECTION_IMAGE_TAG=latest

Refer to the Blur configuration page for the full list of options.

2.2 Create the docker-compose.yml file

Create a docker-compose.yml file in the same folder:

docker-compose.yml
x-logging: &default-logging
driver: "json-file"
options:
max-size: "100m"
max-file: "5"
mode: non-blocking

services:
skew_correction:
image: platerecognizer/skew-correction:${SKEW_CORRECTION_IMAGE_TAG}
logging: *default-logging
ports:
- "8001:8001"
env_file:
- ./.env
volumes:
- ./logos:/logos

2.3 Create the docker-compose.override.yml file

Create a docker-compose.override.yml file in the same folder. This file mounts the local license_snapshot directory into the Snapshot SDK container, so the SDK can read device.conf and config.dat and run offline.

docker-compose.override.yml
x-logging: &default-logging
driver: "json-file"
options:
max-size: "100m"
max-file: "5"
mode: non-blocking

services:
skew_correction:
environment:
- SDK_URL=http://snapshot_sdk:8080
depends_on:
snapshot_sdk:
condition: service_healthy
volumes:
- ./license_blur:/license
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8001/info"]
interval: 5s
timeout: 3s
retries: 10

snapshot_sdk:
image: platerecognizer/alpr
volumes:
- ./license_snapshot:/license
logging: *default-logging
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/info"]
interval: 10s
timeout: 2s
retries: 10
env_file:
- ./.env

2.4 Place the license directories

Just before running docker compose up -d, your project folder should match the following tree (additional files/directories are OK):

├── license_blur
│ └── config.dat # The configuration file received from us in step 1.
├── license_snapshot # Snapshot SDK files from the offline configuration
│ ├── config.dat
│ └── .snapshot
│ └── device.conf
├── logos # Optional. Add logo files here if you use the LOGO setting.
├── .env
├── docker-compose.yml
└── docker-compose.override.yml
warning

Please do not confuse each of the config.dat files. Do not mix them up. Keep the SDK files separate from the Blur files, so you will not get unexpected errors.

3. Start Snapshot SDK + Blur

From the project folder, run:

docker compose up -d

Once all services report Up ... (healthy) in docker compose ps, the Blur API is available at http://localhost:8001 and is using the offline Snapshot SDK running on the same host.

If a service does not report (healthy), inspect its logs:

docker compose logs skew_correction docker compose logs snapshot_sdk

Common causes: a misplaced or swapped config.dat file, an incorrect LICENSE_KEY value, or insufficient read permissions on the mounted license directories. Refer to the Blur API reference and the Bulk Blur guide for how to upload images for blurring.

License Updates

If your license expires or you need to update it, simply replace the config.dat file in the license_blur directory with the new one provided by our support team. Then restart the services:

docker compose up -d

In the case of Snapshot SDK, please follow the instructions as described in the Snapshot Offline Installation guide.