Skip to content

fix: update Open edX image to Ubuntu 24.04 - #1508

Open
Syed-Ali-Abbas-568 wants to merge 2 commits into
overhangio:mainfrom
Syed-Ali-Abbas-568:ubuntu-24.04-upgrade
Open

Syed-Ali-Abbas-568 wants to merge 2 commits into
overhangio:mainfrom
Syed-Ali-Abbas-568:ubuntu-24.04-upgrade

Conversation

@Syed-Ali-Abbas-568

@Syed-Ali-Abbas-568 Syed-Ali-Abbas-568 commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Bump the openedx image's base OS from Ubuntu 22.04 → 24.04, matching every other Tutor plugin image and the version Open edX's own CI actually tests against.

Fix included

A plain version bump isn't enough — Ubuntu's docker image now ships a built-in ubuntu user at UID 1000, which collides with the app user Tutor creates (useradd: UID 1000 is not unique). Added RUN userdel -r ubuntu before it, same fix already used in tutor-notes/tutor-xqueue.

(Dependabot's earlier #1414 jumped straight to 26.04 and was closed after breaking on a clean build — this targets the smaller, proven 24.04 step instead.)

Tested

tutor images build openedx on ubuntu:24.04 builds clean end-to-end, including the unmodified edx-platform (release/verawood.1) checkout.

The openedx image was still pinned to Ubuntu 22.04 while every other
Tutor plugin image had already moved to 24.04. Bumping the base image
alone is not enough: Ubuntu's official Docker image now ships a
built-in non-root `ubuntu` user at UID 1000, which collides with the
useradd call that creates Tutor's own `app` user and breaks any clean
build from scratch. Delete that default user first, matching the fix
already shipped in tutor-notes and tutor-xqueue.

Verified locally: `tutor images build openedx` succeeds end-to-end on
ubuntu:24.04, including the full edx-platform (release/verawood.1)
checkout and build.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
@Abdul-Muqadim-Arbisoft

Copy link
Copy Markdown
Collaborator

Thanks for this @Syed-Ali-Abbas-568! I built both openedx and openedx-dev from this branch (arm64) and ran a full tutor local launch with mfe + indigo on top of it, imported the demo course and checked that search indexing works. Everything came up fine: same Python 3.12.13 and Node versions, all the compiled deps import correctly, pip check passes, static assets are identical, and the dev image with a non-1000 uid works too. The userdel -r ubuntu fix is needed and looks right.

A few things before we can merge:

  1. ntp now pulls in systemd. On 24.04, ntp is just a transitional package for ntpsec, which depends on python3 and recommends systemd. So the production image now ends up with systemd, systemd-resolved, dbus and a system python3, about 40 extra packages / ~50MB that we didn't have on 22.04. ntp doesn't do anything inside a container anyway. Could you replace ntp with tzdata in the production stage? (tzdata was only coming in through ntp before, so we still want it.)
  2. Makefile: pull-base-images still pulls docker.io/ubuntu:22.04 (line 88), that should be bumped too.
  3. Changelog: please use the usual (by @Syed-Ali-Abbas-568) instead of "generated by Claude Code on behalf of...". Since it's marked 💥, it should also tell people what they need to do: rebuild their images, and plugins or custom patches that apt install packages in the openedx Dockerfile may need the noble package names (e.g. libicu70 → libicu74, a lot of libs got a t64 suffix). The userdel detail isn't really something users need to know, I'd drop that sub-bullet.
  4. Small one: the commit title says fix: but this is a breaking change, feat!: would match better. The commit message also says every other plugin image is already on 24.04, but tutor-discovery's release branch is still on 22.04.

Bigger question is where this lands. Since it's a 💥 change, merging it into release means the next release has to be 22.1.0. So far we've only changed the base OS together with a new Open edX release, and 22.04 is supported until April 2027, so there's no rush. I'd lean towards targeting main for this one. Either way the fixes above are needed.

Comment thread changelog.d/20261015_181918_syed.ali.abbas_ubuntu_24_04_upgrade.md Outdated
@ahmed-arb

Copy link
Copy Markdown
Collaborator

And I agree with @Abdul-Muqadim-Arbisoft; this should land in master, as all breaking upgrades target that.

@Syed-Ali-Abbas-568
Syed-Ali-Abbas-568 changed the base branch from release to main October 20, 2026 09:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

3 participants