liquidinvestigations/hoover-ui

By liquidinvestigations

Updated 10 months ago

Hoover user interface

Image
Security
Web servers
Content management system
1

10K+

liquidinvestigations/hoover-ui repository overview

Liquid Investigations

This Repository is part of Liquid Investigations.


Advanced UI for Hoover

Installation

Working on the UI needs a recent nodejs (see 'engine' in package.json for the version currently used).

  1. Download the code, install dependencies

    git clone https://github.com/liquidinvestigations/hoover-ui.git
    cd hoover-ui
    npm install
    
  2. Development server

    npm run dev
    
  3. Production server

    npm run build
    npm run prod
    

All servers listen on port 8000.

Development

You can work on this repository by either using some already existing backend service (that you have a login for) or you can run the whole stack locally.

Only run the UI code, use existing backend

To run UI on localhost set environment variable API_URL=https://hoover.your.server.url and REWRITE_API=true Also add NODE_TLS_REJECT_UNAUTHORIZED=0 to allow local proxy without SSL. You can set environment variables in your OS shell or as a part of the startup script in package.json

"scripts": {
    ...
    "dev": "cross-env API_URL=https://hoover.your.server.url REWRITE_API=1 NODE_TLS_REJECT_UNAUTHORIZED=0 next dev -p 8000 -H 0.0.0.0",
    ...
}

In order to get authorized just copy _oauth2_proxy_hoover_your.server.url cookie using browser's development tools (Application -> Cookies in Chrome DevTools, Data -> Cookies in Firefox Firebug).

  1. Login to https://your.server.url and go to Hoover
  2. Open Cookies in development tools, find _oauth2_proxy... cookie under https://your.server.url, copy cookie name
  3. Start your dev server, open development tools for it, go to Cookies, paste cookie name in http://localhost:8000
  4. Copy & paste cookie value repeating steps 2-3
Run npm using Docker

You can use the npm.docker.sh script instead of the binary npm on your machine. This will run a docker image as your user and run npm on its arguments.

Example usage: ./npm.docker.sh test -- -u

Run the whole stack locally

You will need to meet the hardware requirements - have at least 16GB RAM free if you only want to run Hoover. Run Liquid Investigations with mount_local_repos = True. You can change the code in your local repository there.

Node upgrade

Upgrading the node version requires a version bump in the following files:

  • package.json (engine)
  • .travis.yml
  • Dockerfile

Icons

The project uses the following icon libraries:

Any additional library with icons in SVG format can be added, for example Bootstrap Icons

Environment variables

  • API_URL (required) - URL of the backend server
  • REWRITE_API (boolean default unset) - controls setting up proxy to backend API (for local development)
  • AGGREGATIONS_SPLIT (default 1) - divider number for queuing concurrent requests to aggregations search API endpoint (1 - all requsts are concurrent, 2 - requests are divided into two concurrent packs running one after another, 3 - three packs, etc.)
  • MAX_SEARCH_RETRIES (default 1) - number of search retries in synchronous search mode
  • SEARCH_RETRY_DELAY (default 3000) - search retry delay in synchronous mode in milliseconds
  • ASYNC_SEARCH_POLL_INTERVAL (default 45) - interval between search requests in asynchronous mode
  • ASYNC_SEARCH_MAX_FINAL_RETRIES (default 3) - max numbers of requests retries when async search task is about to complete (ETA < pool interval)
  • ASYNC_SEARCH_ERROR_MULTIPLIER (default 2) - async task initial ETA multiplier after which search request fails
  • ASYNC_SEARCH_ERROR_SUMMATION (default 60) - async task initial ETA summation seconds after which search request fails
  • HOOVER_MAPS_ENABLED (boolean default unset) - show maps link in top menu
  • HOOVER_TRANSLATION_ENABLED (boolean default unset) - shows translation link in top menu

Tag summary

Content type

Image

Digest

sha256:a00f31590

Size

724.5 MB

Last updated

10 months ago

docker pull liquidinvestigations/hoover-ui