Skip to content

motioneye-project/motioneye

Repository files navigation

What is motionEye?

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.

Installation

These install instructions are constantly tested via CI/CD pipeline on Debian Bullseye and Ubuntu Focal.

  1. Install Python 3.7 or later and build dependencies

    Here the commands for APT-based Linux distributions are given.

    Thanks to pre-compiled wheels from PyPI, installing motionEye usually does not require anything but Python 3 and cURL with the ability to do HTTPS network requests:

    sudo apt update
    sudo apt --no-install-recommends install ca-certificates curl python3

    On ARMv6 and ARMv7 (32-bit), RISC-V and other rare CPU architectures additional build dependencies may be required to compile the Pillow and PycURL modules:

    sudo apt update
    sudo apt --no-install-recommends install ca-certificates curl python3 python3-dev gcc libjpeg62-turbo-dev libcurl4-openssl-dev libssl-dev
  2. 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\]/a\break-system-packages=true' /etc/pip.conf
  3. 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

Upgrade

sudo systemctl stop motioneye
sudo python3 -m pip install --upgrade --pre motioneye
sudo systemctl start motioneye