Installation
The ew-npvr service is distributed as a CentOS/Red Hat RPM and is available
as ew-npvr.service when installed. It works on Red Hat 9 and binary compatibile distributions.
To install version x.y.z, the rpm command can be used as follows:
dnf install ./ew-npvr-x.y.z-1.x86_64.rpm
The service can be controlled with the standard systemctl commands:
systemctl start ew-npvr
systemctl stop ew-npvr
systemctl status ew-npvr
Logs from the service can be seen using journalctl -u ew-npvr.
The unit file is available in /usr/lib/systemd/system/ew-npvr.service.
When run as a service, ew-npvr reads its initial configuration from the AgileTV Origin configuration system.
To uninstall the service, do:
dnf remove ew-npvr
When uninstalling it is recommended to first stop the service.
Prerequisites
Before installing ew-npvr, ensure the following prerequisites are met:
- Database (Optional): PostgreSQL database server accessible from the ew-npvr host
- Required for management API functionality
- Storage: Sufficient disk space for NPVR recordings at configured storage locations
- Live Ingest: AgileTV Origin live ingest service (ESB3003) if recording live channels
- Network: Network connectivity to database and channel sources
Note: The service keeps running in a degraded mode if the database is unavailable - the management API will not be available for creating or managing recordings.
Directory Structure
After installation, the following directories are created:
/var/log/edgeware/ew-npvr/: Log files directoryew-npvr.log: General service logsew-npvr-admin.log: Administration API logs
/var/run/edgeware/ew-npvr/: Runtime files (Unix sockets)/etc/edgeware/ew-npvr/: Configuration files
Initial Setup
- Configure the database connection in the AgileTV Origin configuration
- Set up NPVR storage locations
- Configure live ingest channels for NPVR integration
- Start the service:
systemctl start ew-npvr - Verify the service is running:
systemctl status ew-npvr
Command Line Options
The ew-npvr service supports the following command-line options:
--print-schema: Print the embedded JSON schema for configuration and exit--management-address <address>: Address for management API server (default: 0.0.0.0:8099)--write-rate-limit <bytes>: Write rate limit in bytes per second when copying files (default: 0 = no limit)- Use this to prevent storage I/O saturation during recording operations
- Example:
--write-rate-limit 104857600limits writes to 100 MB/s
These options can be configured in the systemd service file at /usr/lib/systemd/system/ew-npvr.service.
Accessing API Documentation
Once the service is running, Swagger API documentation is available at:
http://<management-address>/swagger/
For example, with default settings:
http://localhost:8099/swagger/