cypht-org / cypht

Cypht: Lightweight Open Source webmail aggregator [PHP, JS]. Supports IMAP/SMTP, JMAP and soon EWS
http://cypht.org
GNU Lesser General Public License v2.1
1k stars 161 forks source link

Who is using the current docker image? #981

Open jonocodes opened 6 months ago

jonocodes commented 6 months ago

💬 Question

Dockerhub reports 100k+ pulls from here: https://hub.docker.com/r/sailfrog/cypht-docker

Thats a lot of pulls. But it looks like there was only one push, 5 months ago.

Does anyone have an idea who all those pulls are from? It would be good to know as it could help direct future image releases.

In the past I had a personal docker image on dockerhub that I made public and got a similar amout of pulls even though I was the only user. Turned out it was part of my continuous deploy system that was regularly checking dockerhub for image updates. The check ran 'docker pull', but even if the local copy never changed it was added to the pull count. Is there anything known about in the cypht infrastructure (or perhaps the related tikiwiki project) that may be doing this?

marclaporte commented 6 months ago

Very good question!

I don't know where it's coming from but I am reasonably sure it's not coming from Tiki because

  1. Tiki gets Cypht from https://packagist.org/packages/jason-munro/cypht
  2. Tiki Docker has the same problem as described here: https://github.com/cypht-org/cypht-docker/issues/31
jonocodes commented 6 months ago

If there are no way to get insights on the dockerhub account about specific usage, perhaps there is a way through the packageist account?

I mention this because if you see here, Cypht has the most downloads, while roundcube has a lot more start. Which also is an indication something unusual is going on.

image

marclaporte commented 6 months ago

In 2017, I suggested that Roundcube be made available on Packagist.org. At the time, it was not a priority for the project leaders: https://github.com/roundcube/roundcubemail/issues/5938

I made the same suggestion for Cypht in 2019: https://github.com/cypht-org/cypht/issues/311#issuecomment-457885167 It was implemented and Cypht got over 80 000 downloads :-)

It looks like Roundcube very recently changed their mind, which is why there are only 103 downloads. Given how popular Roundcube is, I expect that figure will grow quickly.

FYI: https://doc.tiki.org/Roundcube-vs-Cypht

jonocodes commented 5 months ago

In my docker work in cypht I have found a handful of issues - and I am not doing through testing. Some things that done work in the current docker image that I have come upon:

How have these not been actively reported on in the issue tracker? With an average around 500 pulls a day, I would presume more activity if these were from active deployments. So I have several more ideas how this number is what it is:

  1. We dont know the historical pull count, so its possible all the pulls happened in one day with some runaway process on a desktop, perhaps when setting up the image the first time.

  2. The image is used by some existing yml file, distributed with a widely used project. Lets say something like stalwart or even tikiwiki has a published docker compose file that also includes cypht. Any number of users could be running that (even if they are not actively using cypht), or some CI runs it a bunch of times a day which causes pulls. Searching github didnt find much, but thats the only place I looked: https://github.com/search?q=%22sailfrog%2Fcypht-docker%22+language%3Ayaml&type=code

  3. There is some project or third party site that watches projects. It may be pinging a lot of repos, inflating many numbers. Perhaps an aggregator or something like this: https://directory.fsf.org

With no telemetry, we can make guesses all day, so who knows.

I only bring this up because it is good to know how many users will be affected when a breaking update goes out. And it helps inform how drastic development changes can be.

marclaporte commented 1 month ago

I understand what you are saying. Cypht 3.0 is in the works, and this is a great time for breaking changes. And Cypht 2.x will become LTS so we give folks plenty of time for the transition.

So what do you want to break? Oups, I mean improve :-)