-
Notifications
You must be signed in to change notification settings - Fork 661
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Plan for continuing with this project #2307
Comments
I would like to continue contributing in my way (docs and support, rather than code) if you'd like, as a collaborator. |
I just invited you to the organisation. This way you should be able to create branches right here on the main repo, but I think this was already the case before, since you were a collaborator already. |
I don't know anything about programming, especially in the github environment, I was able to edit the wiki documents, and assist end users as needed, and marking issues with the various flags (which hadn't been done prior to my being given collaborator status. I am a script-kiddie in python2 & 3, pretty good with bash and dos command (win) scripting, and so forth. jasaw (video/motion issues) and jawsper (brought an image of motionEyeOS) are both very good in what they do. I am a professional beta tester, too, since back in the Zoom Modem voicemail days (for the C64 & Early PCs), I can break things quite easily. I am an Enterprise (Level 2 & 3) Senior Help Desk, for the past 25+ years. I do translations between end users and developers. I have a lot of resources available for testing (VBox VM Server Ryzen7 CPU 32GB RAM/10TB Storage, Gbit network, Pi1, 2, 3B, 3B+, 4B-4GB and 4B-8GB, PiZeroW, 8 Network IP cams, 2 USB Cams, 1 CSI PiCam) and used them regularly for helping out here. I do docker some, too. If you go through the WiKi, I've done a lot of updates to a lot of the pages. If someone uses an esoteric (read: non-Debian based) OS, I'm willing to try to get it to work, and then document it... |
One other question: Will this be applied to motionEyeOS too, or no? |
That is very valuable, always good to have someone with some focus on the docs, issues/bug report review and testing side. Also Docker experience is good, which I lack, while I see the Dockerfile here. I haven't had a look into motionEyeOS yet. I personally would concentrate on getting motionEye itself up and ready for Python 3 first, and then update Docker images and motionEyeOS in a second step. But those two definitely need others with more insights and experience with Docker and BuildRoot. |
I would like to contribute, too, if my spare time allows me to do that. I am a long time developer and familiar with Python 3, Docker, Kubernetes. |
My preference would be to add #2308 as step 0. given that it is now green and puts in place some important guardrails. |
@cclauss I just invited you both as members to the orga. I'll send out invitations to all motionEye collaborators, which have their permissions preserved anyway. That way we also see who of those is still active and interested to continue contributing to the project 🙂. |
Hello, |
Awesome, many thanks for your work. From my end, I'd merge |
@kleini, |
From what I see it contains all changes which were applied to dev/python3 branches before, so should be fine. Only thing which went inside as well is that |
Just had a quick look on the "Install in Docker" wiki page and the Dockerfile. Building the container image works and the container works. Getting a picture from my network cameras works as well. So for a first step everything is fine. General questions from my side would be:
|
Because motion is controlled by motionEye, and the motion.conf settings needed are in /etc/motioneye/motioneye.conf |
Why? Why increase the complexity? Multiple points of failure? Diagnostics issues when something does break? Different versions / builds / new dependencies when something is updated? Have one force update the other? When motion updates and breaks the 'current' version of motionEye (it has happened) how do you control either? |
pip is purged (and the ability to exec in the container) to prevent people from making changes (similar to the RO file systems in motionEyeOS), from what I've discovered. Pretty effective. motionEye doesn't need pip after installed. Pip is only needed after install in a 'normal' install to do an upgrade:
|
Because this large container needs to be rebuild completely for every little change. Maintaining a deployment is much easier, if different tools - motionEye and motion in this case - are in separate containers. The correct combination of containers can be controlled with various tools like docker-compose, kubernetes, Helm charts. An incompatibility problem between motionEye and motion is a problem of pinning versions of both tools. This is not solved by a single container image. This must be solved by pinning these versions and it does not matter, whether they are in the same container image or in separated ones. And the motionproject already does provide a container image, so we don't need to download some built motion any more and include that in our container image. |
Are you going to support cross host setups too, when people using clusters install motion on one host, and motionEye on another host? |
This would be an interesting approach. |
This is not really true. There is tons of documentation about the order of commands in a Dockerfile to reduce long builds. |
The advantage, IMO, of a complete container, is you don't care what the docker host is running. The same docker for motionEye runs on all the debians, the RHs, the Arch, whatever. (Theoretically, Windows, too) without consideration of what is needed vs what is already installed on the host, and no communications issues between the packages (if the sandbox system WORKED, they would not be able to easily talk to each other, or possibly other containers...) |
If you read the option 3 in Install In Docker it pulls existing base 'images' of the OS, installs only what motionEye needs, and doesn't need 'get a cup of coffee' break. This was modified because of the age of software included in the existing version, and documented in the spirit of open source / open documentation on how to 'make your own mods'. If it goes the way of 'single process per container, and the complexities of managing many (possibly many, many?) packages and containers, I may fork the project (I will for me) because I deal with average newby non-programmers and developers who want to learn how to make changes or fit their situation without the need to go through a 4 year IS college degree to understand it. |
Hi, I'd like to contribute. Is it possible to add me as a collaborator? |
Many thanks for considering to contribute to motionEye. Before it becomes to inflationary, IMO good practice is to add you to the contributors list, after your did some contribution, and not beforehand 🙂. I'm all in for being open and inclusive, but a minimum level of trust building is fine I think. |
I fully support this, as I'm using thingOS for photOS :-) I might be able to support on the base system. Just @mention me. |
@MichaIng Feel free to have a look at https://github.com/avanc/photOS/tree/master/.github/workflows |
You mean to merge improvements from photOS into thingOS? I suggest to open PRs in this case. However, I'm the wrong person to discuss about thingOS 😉. |
My intention was to use the photOS Github workflow as starting point for automatic compilation of motioneyos :-) |
Ah, in with my first comment I meant to port improvements from motioneyeos back to thingOS, so photOS can also benefit from it ;-) |
Any thought about switching Motion to Motionplus? I just gave up on Motioneye and Motion for my new Rasperry Pi Camera V3. I have not got any of the workarounds to work. Motionplus works but the GUI is lacking. Switching to Motionplus will give good support for libcamera. |
Yeah good luck with that. I think you should very much look forward to the Python 3 port at the moment, that's the most important thing right now AFAIK. |
is there an ETA on the next release? |
Not really. To speed things up, would be great if someone could write release notes. Then I'll merge #2675 to push a pre-release to PyPI. |
If I correct understand, that now migration on Python3 is actually nothing happening (just a translation to other languages) ? |
Could you rephrase your question? I do not understand. Multi-language support is probably the most visible change aside of the Python 2 to Python 3 migration. But there were a lot of other changes and fixes, especially around the upload options and methods. Check out the list of merged PRs with the milestone assigned: https://github.com/motioneye-project/motioneye/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av0.43.0 |
@MichaIng , you answered on my question actually, this is what i meant, thank you. |
@MichaIng Happy to see that motioneye lives on and gets the well deserved Python 3 migration! Thanks for your work everyone 😃 With a new team at the helm and new features already added or in the works, I was wondering if there was any interest in this functionality I requested to merge five years ago now: #821 Aside from that, are there any technical blockers remaining for the 0.43.0 release or is the list of issues assigned to the milestone representative of all the work left? Maybe I can help with something. |
@cclauss I wrote you an email. Can you invite me to your organsiation? |
@beppo-dd You have created no issues and no pull requests. Why should you be named as a project maintainer? |
@cclauss This was of course not my intention. |
Now I understand. Let's try this approach.
Leaving the first commit be the wiki page unmodified will allow maintainers to spot exactly what was changed. I hope this process makes sense. |
@cclauss I hope, I did it right: see motioneye-project/motioneyeos/pull/2998. |
Good morning, |
@theGiuMac Python 2 died 1,372 days ago on 1/1/2020. It is therefore a shame that the default branch of this repo still points to a Python 2 implementation. If you are interested in this functionality, please look at the |
@cclauss thank you for the prompt answer. The state of development is clearer now. And indeed, "Sit tibi terra levis" Python 2. I probably wrote my comment in the wrong place, I've found the link in the homepage. I was looking for info specifically on motionEyeOS or if I could help in anything related to the coding side. I guess you're keeping issues open about current problems and I've read that DevOps seems in place (at least for the CI/CD pipeline). |
Can the default branch please be changed to something more modern than Python 2? |
I 2nd this. I've been digging into motion/motioneye since last year, haha, but just now did I realize there's a (working?) Python3 implementation. What could be the downside of using it as default? I can help on the dev side if needed. And I'll try that dev branch right now. |
There is now a beta release with a move to python3 here https://github.com/motioneye-project/motioneye/releases/tag/0.43.1b1 With luck that should be a stable release soon. Testing I suspect is the most important thing :) |
In our lifetimes? Python 2 died 1,463 days ago on 1/1/2020. |
I thought to keep a branch as default which contains a stable release, which is currently |
@cclauss @Mictronics @jmichault and everyone else, let's make a plan how to continue with this project, now moved to the new @motioneye-project GitHub organisation.
First of all, everyone who has contributed to motionEye before, or wants to do so, please feel free to join in, also I think we can add everyone who is interested to the organisation.
I think we agree that Python 3 support is the first thing to achieve, given that Python 2 has reached EOL since over 2 years already, @jmichault and @Mictronics have Python 3 compatible forks from where we can commit back, and on this repo we have the
python3
branch and a bunch of open pull requests for further related fixes.I personally would go this way:
python3
branch: [WIP] Python3 support #1572Approximately from simple to difficult, regarding possible conflicts 😉.
The text was updated successfully, but these errors were encountered: