Skip to content

K2GO-386 fix(rootfs): stop php-fpm running idle by default (barrier 1) - #543

Merged
luisguzman-adfa merged 1 commit into
mainfrom
fix/K2GO-386-php-fpm-idle-off
Sep 5, 2026
Merged

K2GO-386 fix(rootfs): stop php-fpm running idle by default (barrier 1)#543
luisguzman-adfa merged 1 commit into
mainfrom
fix/K2GO-386-php-fpm-idle-off

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator

An idle php-fpm (enabled unconditionally by the nginx role) is the disk-fill offender: orphaned off proot by a relaunch/restore it busy-loops on epoll_wait ENOSYS (~600 MB/min) and fills /data. Move php-fpm ownership from nginx to the roles that use it, in one carried patch:

0002-php-fpm-role-ownership.patch (tools/upstream-patches):

  • nginx no longer manages php-fpm (drops both the proot enable/restart block and the non-proot systemd restart); nginx does not need it.
  • the Matomo role enables its own php-fpm.

So on the default build (no php-consuming role) php-fpm stays installed but not enabled -> never runs -> cannot orphan and fill the disk. Carried via tools/upstream-patches (WIP); it only affects our build until presented upstream, where it pairs with every IIAB php role self-managing its php.

The app-side free-space guard (barrier 2, the general net) is tracked on K2GO-386.

An idle php-fpm (enabled unconditionally by the nginx role) is the disk-fill
offender: orphaned off proot by a relaunch/restore it busy-loops on epoll_wait
ENOSYS (~600 MB/min) and fills /data. Move php-fpm ownership from nginx to the
roles that use it, in one carried patch:

0002-php-fpm-role-ownership.patch (tools/upstream-patches):
- nginx no longer manages php-fpm (drops both the proot enable/restart block and
  the non-proot systemd restart); nginx does not need it.
- the Matomo role enables its own php-fpm.

So on the default build (no php-consuming role) php-fpm stays installed but not
enabled -> never runs -> cannot orphan and fill the disk. Carried via
tools/upstream-patches (WIP); it only affects our build until presented upstream,
where it pairs with every IIAB php role self-managing its php.

The app-side free-space guard (barrier 2, the general net) is tracked on K2GO-386.
@luisguzman-adfa
luisguzman-adfa merged commit 8c45daa into main Sep 5, 2026
7 of 8 checks passed
@luisguzman-adfa
luisguzman-adfa deleted the fix/K2GO-386-php-fpm-idle-off branch September 5, 2026 03:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant