mirror of
https://github.com/motioneye-project/motioneye.git
synced 2026-03-02 22:57:06 -05:00
Failure to start when port is set to 80 #2385
Labels
No labels
Android app
Arch Linux
CI/CD
CSS
FreeBSD
HTML/HTTP
Home Assistant addon
JavaScript
Python
Raspberry Pi
Stale No Activity 60 Days
bug
code format
dependencies
dev branch
docker
documentation
duplicate
enhancement
feature
help wanted
i18n/l10n
invalid
legacy motionEye
meta
motion
motionEyeOS
notourproblem
python update
question
question
security
troubleshooting
wontfix
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/motioneye#2385
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @quint21 on GitHub (Apr 24, 2023).
Issue: When the TCP port is set to the default of 8765, or almost any other port that I've tested, it will start as normal. But, when you change "the TCP port to listen on" to port 80, MotionEye 0.43.0 will not start.
I have tested this on two different Debian-based distros that I have used extensively with Motioneye (always running on port 80) in the past, Openmediavault v6, and DietPi 8.15.2. In both cases, MotionEye was installed and is run, by the root user (which, to my understanding, should allow MotionEye to use port 80?)
No other services are using port 80. (I have OMV's management console configured to use port 81. DietPi is a minimal distro that does not have any servers running by default.)
The legacy MotionEye, 0.42.1, has no trouble running on port 80 on the same systems. Is this a Python 2 vs Python 3 thing? Is it a Linux kernel thing? Or, is it something to do with the new codebase? Thanks in advance!
systemctl status message follows:
@MichaIng commented on GitHub (Apr 25, 2023):
This is a
motionuser vsrootuser thing. For security reasons, as common best practice, motionEye does not run asrootuser anymore. Do this to grant the service permissions to bind to ports below 1024:If someone finds time, a page about this in out Wiki would be nice: https://github.com/motioneye-project/motioneye/wiki
For reference:
The service could be also adjusted to run as
rootuser again, but I strongly recommend to NOT do this for any web service which does not at minimum drops its own privileges for the actual request handlers (like common web servers, but motionEye does not do that).