LogoLogo
To the Oz WebsiteOz API ReferenceContact Us
  • General
    • Oz Liveness and Biometry Key Concepts
      • Solution Architecture
      • Liveness, Face Matching, Black List Checks
      • Passive and Active Liveness
      • Hybrid Liveness
      • Oz API Key Concepts
      • Oz API vs. Oz API Lite
      • SaaS, On-premise, On-device: What to Choose
      • Oz Licensing Options
    • Integration Quick Start Guides
      • Server-Based Liveness
        • How to Integrate Server-Based Liveness into Your Web Application
        • How to Integrate Server-Based Liveness into Your Mobile Application
        • How to Check Your Media for Liveness without Oz Front End
      • On-Device Liveness
        • How to Integrate On-Device Liveness into Your Mobile Application
      • Face Matching
        • How to Add Face Matching of Liveness Video with a Reference Photo From Your Database
        • How to Add Photo ID Capture and Face Matching to Your Web or Mobile Application
  • Guides
    • Developer Guide
      • API
        • Oz API
          • Working with Oz System: Basic Scenarios
            • Authentication
            • Uploading Media
            • Liveness
            • Biometry (Face Matching)
            • Best Shot
            • Blacklist Check
              • Blacklist (Collection) Management in Oz API
            • Quantitative Results
            • Using a Webhook to Get Results
            • Single Request
            • Instant API: Non-Persistent Mode
          • System Objects
          • User Roles
          • Types of Analyses and What They Check
          • Rules of Assigning Analyses
          • Statuses in API
          • Media Tags
          • Metadata
          • API Error Codes
          • Oz API Postman Collections
          • Changelog
        • Oz API Lite
          • API Lite Methods
          • Oz API Lite Postman Collection
          • Changelog
      • SDK
        • Oz Mobile SDK (iOS, Android, Flutter)
          • On-Device Mode
          • Android
            • Getting a License for Android SDK
              • Master License for Android
            • Adding SDK to a Project
            • Connecting SDK to API
            • Capturing Videos
            • Checking Liveness and Face Biometry
            • Customizing Android SDK
              • How to Restore the Previous Design after an Update
            • Android Localization: Adding a Custom or Updating an Existing Language Pack
            • Android SDK Methods and Properties
            • Changelog
          • iOS
            • Getting a License for iOS SDK
              • Master License for iOS
            • Adding SDK to a Client’s Mobile App
            • Connecting SDK to API
            • Capturing Videos
            • Checking Liveness and Face Biometry
            • Customizing iOS SDK Interface
              • How to Restore the Previous Design after an Update
            • iOS Localization: Adding a Custom or Updating an Existing Language Pack
            • iOS SDK Methods and Properties
            • Changelog
          • Flutter
            • How to Install and Use Oz Flutter Plugin
            • Flutter SDK Methods and Properties
            • Changelog
        • Oz Liveness Web SDK
          • Web Plugin
            • Adding the Plugin to Your Web Page
            • Launching the Plugin
              • Description of the on_complete Callback
              • Description of the on_result Callback
              • Capturing Video and Description of the on_capture_complete Callback
              • Description of the on_error Callback
            • Closing or Hiding the Plugin
            • Localization: Adding a Custom Language Pack
            • Look-and-Feel Customization
              • Customization Options for Older Versions (before 1.0.1)
            • Security Recommendations
            • Browser Compatibility
            • No-Server Licensing
          • Changelog
    • Administrator Guide
      • Deployment Architecture
      • Installation in Docker
      • Installation in Kubernetes
      • Performance and Scalability Guide
      • Publishing API Methods in the Internet: Security Recommendations
      • Monitoring
      • License Server
      • Web Adapter Configuration
        • Installation and Licensing
        • Configuration File Settings
        • Configuration Using Environment Variables
        • Server Configuration via Environment Variables
      • Oz API Configuration
    • User Guide
      • Oz Web UI
        • Requesting Analyses
        • Users and Companies
        • Blacklist
        • Statistics
        • Settings
        • Changelog
  • Other
    • Media Quality Requirements
    • Oz SDK Media Quality Checks
    • Media File Size Overview
    • Compatibility
    • FAQ
    • Tips and Tricks
      • Oz Liveness Gestures: Table of Correspondence
      • Sudo without Password
      • Android: Certificate Validation Error
    • Previous Documentation
      • Mobile SDK
        • Android
          • Interactions with the Oz API Server
          • Uploading and Analyzing Media
        • iOS
          • Uploading and Analyzing Media
      • User Guides
        • Oz Demo Kit
        • Web UI
      • Oz Modules Installation
        • Standalone Installer
        • Oz System Lite
Powered by GitBook
On this page
  • Hardware and Software Requirements
  • Distribution Package Contents
  • Installation
  • Installing TFSS and the API on the Same Host
  • Installing TFSS and the API on Separate Hosts

Was this helpful?

Export as PDF
  1. Guides
  2. Administrator Guide

Installation in Docker

Hardware and Software Requirements

To launch the services, you'll require:

  • CPU: 16 cores,

  • RAM: 32 GB,

  • Disk: 100 GB, SSD,

  • Linux-compatible OS,

  • Docker 19.03+ (or Podman 4.4+),

  • Docker Compose 1.27+ (or podman-compose 1.2.0+, if you use Podman).

For Docker installations with multiple API servers, you'll also require shared volume or NFS.

Distribution Package Contents

The package you get consists of the following directories and files:

// scripts for preliminary checks of hosts to ensure compliance 
// with software and hardware requirements
|-[checkers]
|   |--pre-checker-all.sh
|   |--pre-checker-api.sh
|   |--pre-checker-bio.sh
// subdirectories with configuration files for the services in use
|-[configs]
|   |--[api]
|   |--[init]
|   |--[nginx]
|   |--[o2n]
|   |--[pg-o2n]
|   |--[postgres]
|   |--[redis]
|   |--[statistic]
|   |--[tfss]
|   |--[webui]
|   |--config.env
// service data and the TFSS models
|-[data]
|   |--api
|   |--pg-o2n
|   |--postgres
|   |--redis
|   |--tfss
// manifest for running all services on a single host
|-docker-compose-all.yml
// manifest for services related only to the API
|-docker-compose-api.yml
// manifest for the TFSS service
|-docker-compose-bio.yml

Installation

Installing TFSS and the API on the Same Host

  1. Put the license file in ./configs/tfss/license.key.

  2. Unzip the file that contains models into the ./data/tfss/models directory.

  3. Before starting system configuration, we recommend running the host readiness check scripts. Navigate to the checkers directory and run the pre-checker-all.sh script.

docker compose --env-file configs/config.env -f docker-compose-all.yml 
  1. Set the initial passwords and values:

Configuration
  • configs\api\config.py

    • Line 15: 'PORT' is the same port as set in line 2 of configs\nginx\default.conf. Needed to set URLs to serve static via nginx.

    • Line 21: 'HOST' is the same name as set in docker-compose for oz-api-nginx container. Needed to set URLs to serve static via nginx.

    • Line 24-28: 'DB_*' are parameters for connecting to PostgreSQL database. Must refer to oz-api-pg name and parameters, that are set in configs\init\init-db.sh, configs\postgres\init.sql

    • Line 33-34: 'TFSS' must refer to oz-tfss container name and port, that are set in the docker-compose.yaml oz-tfss start command.

    • Line 36: Regula. Currently, we support only external Regula.

    • Line 54-57: Redis connection. Change password or Redis container name and port, corresponding to lines 2 and 4 of configs\redis\redis.conf.

    • Line 69: Celery workers' healthcheck list. Remove Celery workers from list, if you have disabled them in docker-compose.yaml.

    • Line 141: O2N. Change o2n name and port, corresponding to docker-compose.yaml.

  • configs\init\init-*.sh

    • VARS section of each file (Lines 4-9) must refer to PostgreSQL names, ports in docker-compose, parameters in config.py and sets up user and database that are created during startup.

  • nginx\default.conf

    • Line 2: Listen port. Must be set corresponding to the docker-compose oz-api-nginx port parameter and config.py

    • Lines 27, 43, 48: Service names in redirect. oz-api, oz-statistic. Change if container names are changed in docker-compose.yaml

  • configs\pg-o2n\init.sql

    • Username, database name, password that are pre-created in database.

    • Username in lines 1, 9.

    • Password in line 1.

    • DB name in lines 8, 16.

  • configs\postgres\init.sql

    • Username, database name, password that are pre-created in database.

    • Username in lines 1, 9.

    • Password in line 1.

    • DB name in lines 8, 16.

  • configs\redis\redis.conf

    • Line 2: password for security. Refers to config.py.

    • Line 4: port. Refers to config.py.

  • data\tfss

    • Must have 'models' folder with models.

  • configs\webui\aquireToken.sh

    • Line 3-6: API parameters. Web UI should point to the oz-api-nginx container. Set name and port same as in oz-api-nginx.

    • Line 5-6: login and password must be the same as in configs\init\init-user.sh (if you have created another user manually, you can also use other credentials)

  • configs\o2n\config.env

    • Lines 6-10: pg-o2n parameters. Must be the same as listed in init-o2n.sh and pg-o2n\init.sql.

    • Line 12: password for superuser in PostgreSQL for O2N.

    • Lines 14-16: service parameters for superuser in PostgreSQL.

    • Lines 24-29: database parameters. Must be the same as listed in configs\postgres\init.sql.

    • Line 38: 'APP_ENV' User 'local' for http, 'https' for https.

    • Line 51-57: mail parameters. Set up for 'send password to email' option.

  1. For this configuration, run all services on a single host:

docker compose --env-file configs/config.env -f docker-compose-all.yml up -d

We recommend using PostgreSQL as a container only for testing purposes. For the production deployment, it is recommended to use a standalone database.

Installing TFSS and the API on Separate Hosts

TFSS Host

  1. Create a directory and unzip the distribution package into it. The package contains Docker Compose manifests and directories with the configuration files required for operation.

  2. Put the license file in ./configs/tfss/license.key.

  3. Unzip the file that contains models into the ./data/tfss/models directory.

  4. Before starting system configuration, we recommend running the host readiness check scripts. Navigate to the checkers directory and run the pre-checker-all.sh script.

    ./pre-checker-bio.sh
  5. For this configuration, run TFSS service on a separate host:

docker compose --env-file configs/config.env -f docker-compose-bio.yml up -d

API Host

  1. Create a directory and unzip the distribution package into it. The package contains Docker Compose manifests and directories with the configuration files required for operation.

  2. Before starting system configuration, we recommend running the host readiness check scripts. Navigate to the checkers directory and run the pre-checker-all.sh script.

./pre-checker-bio.sh
  1. For this configuration, run all services on a single host:

docker compose --env-file configs/config.env -f docker-compose-api.yml up -d
PreviousDeployment ArchitectureNextInstallation in Kubernetes

Last updated 1 month ago

Was this helpful?

Set the initial passwords and values as described in .

step 4 of the same host installation