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.
(Docker images are provided on Docker Hub. See docker/README.md for further details.)
-
Install Python 3.9 or later and build dependencies
Here, the commands for APT-based Linux distributions are given:
sudo apt update sudo apt --no-install-recommends install ca-certificates curl python3-venv
On ARMv6/ARMv7 (32-bit), RISC-V, and other rare CPU architectures, additional build dependencies may be required to compile the Pillow, PycURL, and CFFI modules:
sudo apt --no-install-recommends install python3-dev gcc libjpeg62-turbo-dev libcurl4-openssl-dev libssl-dev libffi-dev
-
Create a Python virtual environment (
venv) for motionEyesudo python3 -m venv --upgrade-deps /opt/motioneye
-
Install and setup motionEye
sudo /opt/motioneye/bin/pip install motioneye sudo /opt/motioneye/bin/motioneye_init
motioneye_initsets up a systemd service with its main executablemeyectlfrom thevenvpath, respectively the Python environment the calledmotioneye_initbelongs to. A custommeyectlpath can be given with--meyectl /path/to/meyectl.motioneye_initcurrently assumes either an APT- or RPM-based distribution withsystemdas init system. For a manual setup, config and service files can be found here: https://github.com/motioneye-project/motioneye/tree/dev/motioneye/extra -
Access the web interface
After having successfully followed the installation instructions, the motionEye server should be running on your system and listening on port 8765. Fire up your favorite web browser and visit the following URL (replacing
[your_ip]with... well, your system's IP address):http://[your_ip]:8765/Use the username admin with an empty password when prompted for credentials. Passwords must be set for both the admin and surveillance (view-only) user accounts when saving any configuration changes.
If motionEye was installed with
sudo python3 -m pip install motioneyebefore, outside of avenv, uninstall it withsudo python3 -m pip uninstall motioneye, then follow the installation steps. Your configuration in/etc/motioneyeis kept, andmotioneye_initupdates the systemd service.
When upgrading motionEye, remember to restart the service. To rule out any mix of old in-memory backend code with new frontend assets, it is recommended to stop it prior to the upgrade, and start it back up afterwards:
sudo systemctl stop motioneye
sudo /opt/motioneye/bin/pip install --upgrade motioneye
sudo systemctl start motioneyeWe may push beta versions to PyPI to give upcoming releases some testing period. Those can be installed with pip's --pre flag:
sudo systemctl stop motioneye
sudo /opt/motioneye/bin/pip install --upgrade --pre motioneye
sudo systemctl start motioneyeIf you want to test a recent commit on our development branch:
sudo systemctl stop motioneye
sudo /opt/motioneye/bin/pip install --upgrade 'https://github.com/motioneye-project/motioneye/archive/dev.tar.gz'
sudo systemctl start motioneye