motionEye is an online interface for the software motion, a video surveillance program with motion detection.
Check out the wiki for more details. Changelog is available on the releases page.
From version 0.43, motionEye is multilingual:
You can contribute to translations on Weblate.
These install instructions are constantly tested via CI/CD pipeline on Debian Bullseye and Ubuntu Focal.
Install Python 3.7 or later and build dependencies
Here the commands for APT-based Linux distributions are given.
On 32-bit ARMv6 and ARMv7 systems, thanks to piwheels, no development headers are required:
sudo apt update
sudo apt --no-install-recommends install ca-certificates curl python3 python3-distutils
On all other architectures additional development headers are required:
sudo apt update
sudo apt --no-install-recommends install ca-certificates curl python3 python3-dev libcurl4-openssl-dev gcc libssl-dev
Install the Python package manager pip
curl -sSfO 'https://bootstrap.pypa.io/get-pip.py'
sudo python3 get-pip.py
rm get-pip.py
On recent Debian (Bookworm ant later) and Ubuntu (Lunar and later) versions, the libpython3.*-stdlib
package ships a file /usr/lib/python3.*/EXTERNALLY-MANAGED
, which prevents the installation of Python modules outside of venv
environments.
motionEye however has a small number of dependencies with no strict version requirements and hence is very unlikely to break any Python package you might have installed via APT. To bypass this block, add break-system-packages=true
to the [global]
section of your pip.conf
:
grep -q '[global]' /etc/pip.conf 2> /dev/null || printf '%b' '[global]n' | sudo tee -a /etc/pip.conf > /dev/null
sudo sed -i '/^[global]/abreak-system-packages=true' /etc/pip.conf
On 32-bit ARMv6 and ARMv7 systems, additionally configure pip
to use pre-compiled wheels from piwheels:
grep -q '[global]' /etc/pip.conf 2> /dev/null || printf '%b' '[global]n' | sudo tee -a /etc/pip.conf > /dev/null
sudo sed -i '/^[global]/aextra-index-url=https://www.piwheels.org/simple/' /etc/pip.conf
Install and setup motionEye
sudo python3 -m pip install --pre motioneye
sudo motioneye_init
NB: motioneye_init
currently assumes either an APT- or RPM-based distribution with systemd
as init system. For a manual setup, config and service files can be found here: https://github.com/motioneye-project/motioneye/tree/dev/motioneye/extra
sudo systemctl stop motioneye
sudo python3 -m pip install --upgrade --pre motioneye
sudo systemctl start motioneye