1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 09:04:12 +02:00

basic frankenphp support

fixes #17
This commit is contained in:
Robin Appelman 2026-03-22 14:10:19 +01:00
commit 3b4014b5e4
9 changed files with 83 additions and 41 deletions

View file

@ -84,4 +84,11 @@ if [ -n "${PROXY_BASE:-}" ]; then
cp /etc/supervisor/dnsmasq.conf /etc/supervisor/enabled/
fi
if [ -n "${FRANKENPHP:-}" ]; then
cp /etc/supervisor/frankenphp.conf /etc/supervisor/enabled/
else
cp /etc/supervisor/php-fpm.conf /etc/supervisor/enabled/
cp /etc/supervisor/nginx.conf /etc/supervisor/enabled/
fi
exec supervisord -c /etc/supervisor/supervisord.conf

View file

@ -0,0 +1,3 @@
[program:frankenphp]
command = /bin/frankenphp php-server
directory = /var/www/html

View file

@ -0,0 +1,2 @@
[program:nginx]
command = /bin/nginx -c /etc/nginx.conf

View file

@ -0,0 +1,2 @@
[program:php-fpm]
command = /bin/php-fpm --fpm-config /etc/php-fpm.conf

View file

@ -8,18 +8,11 @@ pidfile = /var/run/supervisord.pid
file = /var/run/supervisor.sock
chmod = 0777
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl = unix:///var/run/supervisor.sock
[program:nginx]
command = /bin/nginx -c /etc/nginx.conf
[program:php-fpm]
command = /bin/php-fpm --fpm-config /etc/php-fpm.conf
[include]
files = enabled/*

View file

@ -35,6 +35,7 @@
helix,
python3Packages,
dnsmasq,
frankenphp,
}: let
inherit (builtins) toString;
inherit (lib) readFile getExe concatStringsSep splitString take;
@ -163,6 +164,12 @@
phpEnv
phpEnv.packages.composer
phpunit
(frankenphp.override {
php = php.withExtensions (import ./php-ext.nix {
inherit lib php;
enableBlackfire = false;
});
})
];
};
in

44
nix/image/php-ext.nix Normal file
View file

@ -0,0 +1,44 @@
{
lib,
php,
debug ? false,
enableBlackfire ? true,
}: let
inherit (builtins) compareVersions;
inherit (lib) optionals;
withBlackfire = enableBlackfire && !debug && ((compareVersions php.version "8.1.0") == 1);
in
{
enabled,
all,
}:
enabled
++ (with all;
[
xdebug
excimer
inotify
redis
oci8
zip
pdo
pdo_pgsql
pdo_sqlite
pdo_mysql
pgsql
intl
curl
mbstring
pcntl
ldap
exif
gmp
apcu
ffi
]
++ optionals (!debug) [
smbclient # this breaks the build for no apparent reason
]
++ optionals withBlackfire [
blackfire
])

View file

@ -8,40 +8,7 @@
withBlackfire = !debug && ((compareVersions php.version "8.1.0") == 1);
in
php.buildEnv {
extensions = {
enabled,
all,
}:
enabled
++ (with all;
[
xdebug
excimer
inotify
redis
oci8
zip
pdo
pdo_pgsql
pdo_sqlite
pdo_mysql
pgsql
intl
curl
mbstring
pcntl
ldap
exif
gmp
apcu
ffi
]
++ optionals (!debug) [
smbclient # this breaks the build for no apparent reason
]
++ optionals withBlackfire [
blackfire
]);
extensions = import ./php-ext.nix {inherit lib php debug;};
extraConfig = ''
xdebug.mode=debug,trace,profile
xdebug.start_with_request=trigger