electron-stats-server
What is ESS?
ESS for short is a self hosted application/system profile collection and reporting endpoint
service primarily developed for the [electron-stats]
collector/module. This was developed for
tracking electron application installs and the systems being used for a better understanding
of real world application(s) usage by users. ESS was designed with the intent to only collect
non-user identifying information.
What is currently supported for collection/reporting
App -> version: string // Application version electron: string // Electron version arch: string // Architecture usedCPU -> cores: number // Count determined from os.cpu model: string // Example: Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz speed: number // Speed in MHzOS -> release: string // OS release number, Example (from MacOS): 16.6.0 platform: string // OS base, Example (from MacOS): darwin memory: string // System memory in MBs
Planned/Implemented features
- Track basic system & application data
- [-] Interactive administration menu
- Test DB connection
- Manage Applications
- Manage authentication keys
- Basic stats output
- Load previous ESS config
- Job queue
- Add existing profile (uuid hash) updates to queue
- Update processing
- Authentication
- Tests
- Cleanup tasks
- Expiry checks
- Cleanup old unlinked app, cpu and os entries
- Reports API
How to setup
Fetch the latest release from GitHub:
npm install tdmio/ess
Install dependencies npm install
Build project files npm run gulp:build
Run the interactive setup to configure the application using the following command, this will guide you through setting up and ensuring all required settings are set.
Make sure to migrate (setup) your database
npm run db:migrate
Access the interactive menu using:
npm run start:interactive
After completing the setup start the application (probably recommended to use something like PM2 to manage).
License
MIT