Oz Web Console

System requirements

  • Any OS, supported by Docker, with Docker installed.
  • CPU: 4x cores
  • RAM: 8Gb
  • Disk: 70Gb​

Additional requirements

  • nginx locally installed. Recommended configuration below.
  • Docker Compose locally installed.
  • Oz API installed in your network cluster.
  • Domain name associated with current IP address.
  • SSL certificate associated with domain name.
  • Accessible external 443 port for HTTPS access.
  • All preparation and configuration steps will be performed under root user. Notes. You don't need Domain name, SSL certificate and 443 port opened is case of usage in local network.

Step by step installation

Login to Docker Hub

​Obtain your personal docker hub token to login to private repository.​


  docker login -u ozcustomer -p your_token_here docker.io

Download and run latest images


  docker pull ozforensics/oz-web-ui
  docker pull ozforensics/oz-web-mysql
  docker pull ozforensics/oz-web-php-cli
  docker pull ozforensics/oz-web-php-fpm

Run containers

​Create directory for Docker Compose file:


  mkdir oz-web
  cd oz-web

Put docker-compose.yml file here:


  version: '3'
  services:
      oz-web-apache:
          container_name: oz-web-apache
          image: ozforensics/oz-web-ui
          volumes:
              - web_data:/var/www/html/
          ports:
              - 8000:80
          restart: unless-stopped
      oz-web-mysql:
          container_name: oz-web-mysql
          image: ozforensics/oz-web-mysql
          restart: unless-stopped
          environment:
              - MYSQL_CONTAINER_USER=mysql
              - MYSQL_CONTAINER_GROUP=mysql
              - MYSQL_ROOT_PASSWORD=rootpass
              - MYSQL_DATABASE=site
              - MYSQL_USER=web
              - MYSQL_PASSWORD=secretpass
      oz-web-php-cli:
          container_name: oz-web-php-cli
          image: ozforensics/oz-web-php-cli
          volumes:
              - web_data:/var/www/html/
          restart: unless-stopped
          depends_on:
              - oz-web-apache
              - oz-web-mysql
      oz-web-php-fpm:
          container_name: oz-web-php-fpm
          image: ozforensics/oz-web-php-fpm
          volumes:
               - web_data:/var/www/html/
          restart: unless-stopped
          depends_on:
              - oz-web-apache
              - oz-web-mysql
              - oz-web-php-cli
  volumes:
      web_data:

Start containers:


  docker-compose up -d

Please, note.After every start or restart of containers you need to wait 20-30 seconds to warm database up. After first start you need to correct files permissions manually:


  cd /var/lib/docker/volumes/oz-web_web_data/_data
  chown -R 1000 .
  chmod -R 775 core/storage

Additional instructions

Nginx host's configuration example

Notes. Use this configuration for Internet accessibility only. Put next block in section http of your nginx.conf file. Please, prepare your SSL keys before this operation.


  server {
    listen 443 ssl http2 default_server;
    ssl_certificate "/etc/nginx/cert/fullchain.cer";
    ssl_certificate_key "/etc/nginx/cert/your-server-name.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    client_max_body_size 50M;
​
    include /etc/nginx/default.d/*.conf;

    location / {
        proxy_pass http://localhost:8000/;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $http_host;
    }
  }


Test Web Console accessibility

​Just open https://your-domain-name or http://your-domain-name in your browser and login by default credentials:

  • login: admin
  • password: admin
    Then follow instructions and input all required settings.​

GUI initial configuration

​You need to set API connection settings after first authorization:​

  • Press button ``Add server```
  • Input any server name.
  • Input Oz API server address https://your-oz-api-server-name
  • Input Oz API credentials and token (notes below).
  • Press Submit.
  • Go to section Database synchronization and press Start synchronization. Notes to obtain service token: Obtain temporary token script by your API credentials:

  curl -X POST \
    https://your-oz-api-server-name/api/authorize/auth \
    -d '{
    "credentials": {
      "email": "demo@ozforensics.com",
      "password": "123456"
    }
  }'

​Normally, you will get JSON answer with access_token value. It is recommended to add separate user with attribute SERVICE_ACCOUNT and role CLIENT_ADMIN with Oz Web Console and then authorize for token.