Skip to content

yoshuawuyts/electron-crash-report-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

electron-crash-report-service

Aggregate crash reports for Electron applications


Usage

Commands

$ npm install   # Install dependencies
$ npm start     # Start service in development

Client code

var electron = require('electron')

electron.crashReporter.start({
  companyName: '<company-name>',
  productName: '<product-name>',
  submitURL: '<reporter-url>'
})

Environment variables

PORT [80]                                # Set the port the service should listen to
STORAGE_PATH [/var/crash-reports]  # Location to store crash reports
NODE_ENV [production]                    # production|development

Routes

/crash-report   POST   Submit a new crash report
/404            GET    404 handler

Peer Dependencies

None

Unit file

Save the unit file as /etc/systemd/system/electron-crash-reporter.service, and the application image as /images/electron-crash-report-service.aci

[Unit]
Description=electron-crash-report-service
Requires=network-online.target
After=network-online.target

[Service]
Slice=machine.slice
Delegate=true
CPUQuota=10%
MemoryLimit=1G
Environment=PORT=80
Environment=STORAGE_PATH=/var/crash-reports
Environment=NODE_ENV=production
ExecStart=/usr/bin/rkt run --inherit-env /images/electron-crash-report-service.aci
ExecStopPost=/usr/bin/rkt gc --mark-only
KillMode=mixed
Restart=always

You can then run it using systemctl:

$ sudo systemctl start etcd.service
$ sudo systemctl stop etcd.service
$ sudo systemctl restart etcd.service

See Also

License

MIT