Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR decreases both the docker image size and its build time by:
no-install-recommendswithapt install(which alone saves ~1GB), as up to now e.g. mupdf (a full-fledged pdf viewer) was included in the image. The only needed package installed this way seems to betex-gyre.python:3.11-slimas the base image. This required explicitly installingmake,g++andlibc6-dev.Replacingpipwithuv pip, which is almost a drop-in replacement and provides a 155 -> 8s speedup for therequirements.txtinstallation step on my modern cpu. On a i7 2640M from 2011 it takes 15s. The only issue was the lack of--usersupport, which was handled by using.local/as a venv.upload_sandboxes_to_filetracker, which is cpu-bound on the client size while compressing the already compressed sandboxes.mailnotifydandrankingsdconsume noticeable cpu while probably trying to access the non-existent DB.The resulting development image size decrease is 7.08 -> 3.3
3.14GB.The image could be shrunk further by removing e.g. old gcc sandboxes from the
Manifestfile, which might simply work since existing installations should already have all old sandboxes on filetracker. Alternatively, a separateManifestfile could be maintained.Regardless, that is out of scope for this PR.