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:
| ](https://hosted.weblate.org/engage/motioneye-project/) |
| -: |
You can contribute to translations on __Weblate__.
Installation
_(Docker images are provided on Docker Hub. See docker/README.md for further details.)_
- Install Python 3.9 or later and build dependencies
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 motionEye
sudo 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_init sets up a systemd service with its main executable meyectl from the venv path, respectively the Python environment the called motioneye_init belongs to. A custom meyectl path can be given with --meyectl /path/to/meyectl.
> 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:
- Access the web interface
[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.
Upgrade
If motionEye was installed withsudo 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 motioneye
Pre-releases
We 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 motioneye
If 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