Introduction
EVVR Containers are designed to be easily deployed, using standard Linux/Docker command line operations, so there are additional options available to avoid the need to use a web interface to perform initial configuration of your container.
Firstly, you should decide whether to use environment variables or a seed configuration file, then use the following articles to populate your config file to suit your deployment.
This article also includes a fully populated example compose file that
Categories of available settings
There are different categories of settings you can configure using a configuration file:
Recommendation
The first two categories are always recommended (onboarding and server details), as this will perform your container's initial setup and connect your container to the server.
Additionally, if you configure the next two categories (camera and recordings), your encoder should now be a fully operational encoder.
The final categories are dependent on your use case and allow you to take advantage of additional container functionality (like Local Viewer, RDC and GPS).
A fully populated example compose file
Here is an example of a populated compose file.
Notes:
Additional settings are put into numbered sections and mirror the numbered sections above - refer to those sections for more detailed information on valid settings and guidance.
The provided values for each setting are examples and should be changed to suit your environment.
services:
edgevis-encoder:
image: digitalbarriers/evvr:9.1.0
devices:
- /dev/dri:/dev/dri
tty: true
container_name: edgevis-encoder
ports:
- "8443:443"
- "8554:8554"
volumes:
- edgevis-config:/config
- edgevis-recordings:/mnt/recordings
- /dev:/dev
environment:
# All of these are optional (except EV_RTSP_PORT)
# Section 1 - Initial Container settings
- EV_WEB_PASSWORD=LoginPassword1!
- EV_TIMEZONE=Morocco Standard Time
# Section 2 - Server and encoder account settings
- EV_SERVER_ADDR=video.my-server.com
- EV_ENCODER_NAME=container
- EV_ENCODER_PASSWORD=containerpassword
- EV_SERVER_ID_VERSION=V4
- EV_SERVER_ID=vUW8cjZwQPOIwdVl8law==
- EV_SERVER_FINGERPRINT=AQIAAAC+PBTEr1B0Nf8...fmJQMAAAABAAE=
# Section 3 - Adding cameras to your container
# (ONVIF, RTSP, or Auto-adding USB cameras)
- EV_CHANNEL_0={"type":"ONVIF","name":"Canon","ip_address":"10.0.0.20", "user_name":"root","password":"PW!23456","configure_audio":"Enabled"}
- EV_CHANNEL_1={"type":"RTSP","name":"RTSP Camera", "url":"rtsp://10.152.0.36/black-car.mp4"}
- EV_CHANNEL_2={"type":"AUTO_USB","name":"USB Cam 1"}
# Section 4 - Extra recording options like maximum quotas,
# encryption and recording modes
- EV_RECORDINGS_SIZE_GB=16
- EV_RECORDINGS_MODE=Always
- EV_STORAGE_FULL=OverwriteOldest
- EV_RECORDINGS_ENCRYPTION=password
# Section 5 - Enabling USB Serial devices like RDC or USB GPS
# - also needs an extra entry in device_cgroup_rules below
- EV_USB_SERIAL_PORT=/dev/ttyUSB3
# Section 6 - Taking advantage of Linux's GPS daemon (gpsd)
- EV_GPSD_ADDR=172.18.0.1
# Section 7 - Enabling Local Viewer
- EV_RTSP_PORT=8554
# The above line is always present in our compose files
- EV_LOCAL_VIEWER_ENABLED=true
- EV_LOCAL_VIEWER_PASSWORD=LocalViewerPassword1!
# Section 8 - File ownership
- EV_GID=5001
# Section 9 - Hardware acceleration
- EV_HARDWARE_DECODE=true
device_cgroup_rules:
# These are mandatory lines and must always be present
- 'c 81:* rmw'
- 'c 116:* rmw'
# This extra line is required if you use USB Serial devices
- 'c 188:* rmw'
restart: unless-stopped
volumes:
edgevis-config:
name: edgevis-config
edgevis-recordings:
name: edgevis-recordings
Download the example compose file
This is a downloadable version of the file above:
