Skip to content
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

Update MirrorBrain base image #244

Closed
benoit74 opened this issue Aug 16, 2023 · 4 comments · Fixed by #250
Closed

Update MirrorBrain base image #244

benoit74 opened this issue Aug 16, 2023 · 4 comments · Fixed by #250
Assignees

Comments

@benoit74
Copy link
Collaborator

MirrorBrain image is currently based on httpd:2.4.43 which is more or less 3 years old.

This means that its base OS (Debian buster) will soon (somewhere in 2024) be out of support.

We need to update to a more recent base image before that (or implement #239).

@benoit74 benoit74 changed the title Update MirrorBrain image Update MirrorBrain base image Aug 16, 2023
@kelson42
Copy link
Contributor

kelson42 commented Oct 1, 2023

I strongly suspect that we will have to implement #239 first, which will invalidate/fix this ticket as well.

@kelson42
Copy link
Contributor

kelson42 commented Oct 14, 2023

@benoit74 We will need to proceed here considering the conclusion of #239. We probably need to update more than just the base OS image (Apache for example).

@kelson42 kelson42 pinned this issue Oct 14, 2023
@benoit74
Copy link
Collaborator Author

benoit74 commented Oct 17, 2023

I just updated LOTS of stuff:

  • base image is updated to 2.4.57 : https://github.com/kiwix/container-images/tree/update_mirrorbrain
    • this means Apache is updated to 2.4.57
    • but also that we are using Debian Bookworm
    • which means that there is no more support for Python2
    • multiple different Apache modules due to the move to MaxMind GeoIP2 (see below)
    • small changes linked to Python3, etc ...
    • I also created a dev environment (with docker-compose) to run mirrorbrain and its DB locally on my machine.
  • so I also updated mirrorbrain (I had to do a fork): https://github.com/benoit74/mirrorbrain/tree/big_update
    • update to Python 3.11
    • update to MaxMind GeoIP2 (Legacy GeoIP is dropped since November 2022)
    • update to hatch instead of distutils
    • I broke few stuff with is unused in our setup
  • and for sure I had to update our k8s config to make all this work in our setup : https://github.com/kiwix/k8s/tree/update_mirrorbrain

Most stuff is working fine on my local environment, I even found how to fix the flags + missing CSS on mirrors.html:

image

I will open corresponding PRs Thursday on the various repos.

@benoit74
Copy link
Collaborator Author

PRs are ready:

However, while preparing these PRs to make all this mergeable, I realize that I'm not really comfortable with our approach anymore.

As mentioned in previous comment there are a lot of things which I have been modified forced to modify to update this base image, and I broke things while doing this (and there are probably things that I'm not aware of) ; see kiwix/mirrorbrain#1 for details.

Just the fact that I had to fork means that chances to merge this one day are low due to the significant work needed to prepare PRs which could be reviewed (not speaking about the fact that there is probably no reviewers, at least for now).

All that is combined with the fact that I realized during this base image update that:

  • OpenSUSE has maintained a Mirrorbrain fork for a while ... but one of the two main developers on this fork (https://github.com/andrii-suse) is now the main developer / creator of Mirrorcache ...
  • There is way more adoption of Mirrorbits than I understood ; just search for mirrorstats in your favorite search engine, and, at least in Google, you will get a bunch of people who did let their stats opened to search engine and indicates they are using mirrorbits ; not speaking about community which is still actively submitting issues on Mirrorbits while no one really got involved on Mirrorbrain should use mod_maxminddb poeml/mirrorbrain#179 which is a significant problem (problem is not only about Apache module but also about Python code base for managing Mirrorbrain, so openSUSE solution is only partial)

To summarize, I think there is no momentum to have support on these changes anywhere in the community and if we continue on this path, we (I ?) are doomed to maintain this fork / project on our own.

I really wonder if it makes sense to continue on the current path or if we should wait and move to another solution. Let's discuss this live tomorrow during our weekly meeting.

@rgaudin rgaudin unpinned this issue Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants