Arkime viewer is a Vue.js web app.
Read the main Arkime README for more information on how to build and run the app for demo or production. These instructions are for running in development mode out of the source tree.
The viewer uses a number of node.js tools for initialization and testing. You must have node.js and its package manager (npm) installed. You can get them from http://nodejs.org/.
The viewer mostly uses development dependencies that are all bundled using webpack.
We get dependencies via npm
, the node package manager.
In the viewer directory, execute:
npm install
You should find that you have a new folder:
node_modules
- contains the npm packages for the dependencies
To run the web application, you must have an elasticsearch cluster running and already built and configured Arkime. Read the main Arkime README for more information.
npm run start:dev
For this command to work, your tests/config.test.ini
must be valid.
This command adds an admin user (if it doesn't already exists) and starts the node server and bundles all Vue app files into viewer/vueapp/dist
.
Webpack watches for changes to relevant Vue files, and re-bundles the Vue app after each save.
Now browse to the app at http://localhost:8123
and login using username "admin" and password "admin".
npm run start:test
For this command to work, your tests/config.test.ini
must be valid.
This command starts the node server and bundles all Vue app files into viewer/vueapp/dist
.
Webpack watches for changes to relevant Vue files, and re-bundles the Vue app after each save.
Now browse to the app at http://localhost:8123
.
npm start
For this command to work, your config.ini
must be valid.
This command starts the node server and bundles and minifies all Vue app files into viewer/vueapp/dist
.
Now browse to the app at http://localhost:8123
.
npm test
The UI tests use Jest and Vue Testing Library.
cubism has a bug where it hijacks the entire window's keydown listener. This caused issues with other window keydown listeners throughout the application. The current solution is to remove cubism's window keydown listener entirely. Since cubism is no longer being supported, we have opted to host a minified stable version in the public directory that includes this change.
View the contributing guide for more information.