Question: how to build a standalone frankenphp binary with Caddy cache-handler
Hello,
On production we're currently using the frankenphp standalone binaries with the Api Platform distribution.
Unfortunately (see https://github.com/dunglas/frankenphp/issues/956#issuecomment-2271581693), there is no frankenphp binaries distributed with HTTP cache into Caddy, no problem with that, @dunglas and @darkweak explained well why)
On local / development environment, we found a way to build a frankenphp binary with HTTP cache on Docker (thanks to xcaddy build, see https://github.com/dunglas/frankenphp/issues/976#issuecomment-2296049125)
FROM dunglas/frankenphp:latest-builder AS builder
COPY --from=caddy:builder /usr/bin/xcaddy /usr/bin/xcaddy
RUN apt-get update && apt-get install --no-install-recommends -y \
git
ENV CGO_ENABLED=1 XCADDY_SETCAP=1 XCADDY_GO_BUILD_FLAGS="-ldflags \"-w -s -extldflags '-Wl,-z,stack-size=0x80000'\""
RUN xcaddy build \
--output /usr/local/bin/frankenphp \
--with github.com/dunglas/frankenphp=./ \
--with github.com/dunglas/frankenphp/caddy=./caddy/ \
--with github.com/dunglas/mercure/caddy \
--with github.com/dunglas/vulcain/caddy \
--with github.com/dunglas/caddy-cbrotli \
--with github.com/darkweak/souin/plugins/caddy@65cb24114d76a7de3f4e8c7b8ef7df3efd028899 \
--with github.com/darkweak/souin@65cb24114d76a7de3f4e8c7b8ef7df3efd028899 \
--with github.com/darkweak/storages/otter/caddy
FROM dunglas/frankenphp:latest AS frankenphp_upstream
COPY --from=builder --link /usr/local/bin/frankenphp /usr/local/bin/frankenphp
It works well on the Symfony prod env under Docker but we're not using Docker on our production server 😁
Naively, I try to extract the binary built on Docker (docker cp {containerId}:/usr/local/bin/frankenphp frankenphp-http-cache), then transferring the executable on my production server (Ubuntu 20 LTS) and trying to use it 🙄
sudo +x frankenphp-http-cache
./frankenphp-http-cache -v
> ./frankenphp-http-cache: error while loading shared libraries: libphp.so: cannot open shared object file: No such file or directory
You'll tell me "it's not the same architecture, Debian versus Ubuntu, etc." and you're probably right 🙂
So my question is simple: how can I build and use a standalone frankenphp binary with HTTP cache packaged in the Caddy web server?
I read the chapter Create a Static Build in the doc but I see nothing to add extra caddy plugins (Souin) on the fly with the build-static.sh but maybe I'm wrong, I'm really new into the Go/Caddy ecosystems 😑
I also see these lines, I guess I can add (without much conviction) the Caddy plugins (darkweak/souin, darkweak/souin/plugins/caddy and darkweak/storages/otter/caddy) to this list and try to use the static-builder provided with the docker image?
If there is a a simpler method, any help would be welcome 👍
Thanks a lot
Note that I tried to use the build-static.sh without changing anything:
git clone https://github.com/dunglas/frankenphp
cd frankenphp
./build-static.sh
it fails after a long time running:
/bin/bash /home/www/franken-builder/dist/static-php-cli/source/php-src/libtool --silent --preserve-dup-deps --tag=CC --mode=compile x86_64-linux-musl-gcc -Iext/gd/ -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/ -I/home/www/franken-builder/dist/static-php-cli/source/php-src/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/main -I/home/www/franken-builder/dist/static-php-cli/source/php-src -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/date/lib -I/home/www/franken-builder/dist/static-php-cli/buildroot/include/libxml2 -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include -I/home/www/franken-builder/dist/static-php-cli/buildroot/include -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/libpng16 -I/include -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/webp -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/freetype2 -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/ImageMagick-7 -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/mbstring/libmbfl -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/mbstring/libmbfl/mbfl -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libxlsxwriter/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libexpat/expat/lib -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libxlsxio/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/TSRM -I/home/www/franken-builder/dist/static-php-cli/source/php-src/Zend -I/home/www/franken-builder/dist/static-php-cli/buildroot/include -D_GNU_SOURCE -D_REENTRANT -pthread -fno-common -Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -ffp-contract=off -fvisibility=hidden -pthread -Wimplicit-fallthrough=1 -DZTS -DZEND_MAX_EXECUTION_TIMERS -g -Os -fno-ident -fPIE -Wno-strict-prototypes -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/libgd -c /home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/libgd/gd_ss.c -o ext/gd/libgd/gd_ss.lo -MMD -MF ext/gd/libgd/gd_ss.dep -MT ext/gd/libgd/gd_ss.lo
/bin/bash /home/www/franken-builder/dist/static-php-cli/source/php-src/libtool --silent --preserve-dup-deps --tag=CC --mode=compile x86_64-linux-musl-gcc -Iext/gd/ -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/ -I/home/www/franken-builder/dist/static-php-cli/source/php-src/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/main -I/home/www/franken-builder/dist/static-php-cli/source/php-src -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/date/lib -I/home/www/franken-builder/dist/static-php-cli/buildroot/include/libxml2 -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include -I/home/www/franken-builder/dist/static-php-cli/buildroot/include -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/libpng16 -I/include -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/webp -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/freetype2 -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/ImageMagick-7 -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/mbstring/libmbfl -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/mbstring/libmbfl/mbfl -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libxlsxwriter/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libexpat/expat/lib -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libxlsxio/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/TSRM -I/home/www/franken-builder/dist/static-php-cli/source/php-src/Zend -I/home/www/franken-builder/dist/static-php-cli/buildroot/include -D_GNU_SOURCE -D_REENTRANT -pthread -fno-common -Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -ffp-contract=off -fvisibility=hidden -pthread -Wimplicit-fallthrough=1 -DZTS -DZEND_MAX_EXECUTION_TIMERS -g -Os -fno-ident -fPIE -Wno-strict-prototypes -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/libgd -c /home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/libgd/gd_io_ss.c -o ext/gd/libgd/gd_io_ss.lo -MMD -MF ext/gd/libgd/gd_io_ss.dep -MT ext/gd/libgd/gd_io_ss.lo
x86_64-linux-musl-gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
make: *** [Makefile:944: ext/fileinfo/libmagic/apprentice.lo] Error 1
make: *** Waiting for unfinished jobs....
[18:11:06] [ERRO] Uncaught SPC\exception\RuntimeException: Command run failed with code[2]: cd '/home/www/franken-builder/dist/static-php-cli/source/php-src' && make -j2 INSTALL_ROOT=/home/www/franken-builder/dist/static-php-cli/buildroot EXTRA_CFLAGS='-g -Os -fno-ident -fPIE' EXTRA_LIBS='/home/www/franken-builder/dist/static-php-cli/buildroot/lib/libyaml.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libtidy.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/liblz4.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libsqlite3.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpq.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpgport.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpgcommon.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libreadline.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libonig.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/liblber.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libldap.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libsodium.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libMagick++-7.Q16HDRI.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libMagickWand-7.Q16HDRI.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libMagickCore-7.Q16HDRI.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libzip.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libtiff.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libncurses.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libgmp.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libfreetype.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libjpeg.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libturbojpeg.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebp.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebpdecoder.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebpdemux.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebpmux.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libsharpyuv.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libavif.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpng16.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libcurl.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libzstd.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libxml2.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicui18n.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicuio.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicuuc.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicudata.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libiconv.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libcharset.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbrotlidec.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbrotlienc.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbrotlicommon.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libssh2.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libssl.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libcrypto.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libz.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbz2.a -lstdc++ -lgomp ' EXTRA_LDFLAGS_PROGRAM='-all-static' install at /home/www/franken-builder/dist/static-php-cli/src/globals/functions.php(147)
[18:11:06] [ERRO] #0 /home/www/franken-builder/dist/static-php-cli/src/SPC/util/UnixShell.php(51): f_passthru()
#1 /home/www/franken-builder/dist/static-php-cli/src/SPC/builder/linux/LinuxBuilder.php(300): SPC\util\UnixShell->exec()
#2 /home/www/franken-builder/dist/static-php-cli/src/SPC/builder/linux/LinuxBuilder.php(196): SPC\builder\linux\LinuxBuilder->buildEmbed()
#3 /home/www/franken-builder/dist/static-php-cli/src/SPC/command/BuildCliCommand.php(173): SPC\builder\linux\LinuxBuilder->buildPHP()
#4 /home/www/franken-builder/dist/static-php-cli/src/SPC/command/BaseCommand.php(101): SPC\command\BuildCliCommand->handle()
#5 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Command/Command.php(326): SPC\command\BaseCommand->execute()
#6 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Application.php(1078): Symfony\Component\Console\Command\Command->run()
#7 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand()
#8 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun()
#9 /home/www/franken-builder/dist/static-php-cli/bin/spc(21): Symfony\Component\Console\Application->run()
#10 {main}
On Linux, you should run the static-builder Docker image to build the static binary. Otherwise, the host needs special preparation that is tricky to do (musl etc).
Tamam unutmuyorum
sf
19 Ağu 2024 Pzt 09:16 tarihinde Laurent Bientz @.***> şunu yazdı:
Note that I tried to use the build-static.sh without changing anythings:
git clone https://github.com/dunglas/frankenphp cd frankenphp ./build-static.sh
it fails after a long time:
/bin/bash /home/www/franken-builder/dist/static-php-cli/source/php-src/libtool --silent --preserve-dup-deps --tag=CC --mode=compile x86_64-linux-musl-gcc -Iext/gd/ -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/ -I/home/www/franken-builder/dist/static-php-cli/source/php-src/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/main -I/home/www/franken-builder/dist/static-php-cli/source/php-src -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/date/lib -I/home/www/franken-builder/dist/static-php-cli/buildroot/include/libxml2 -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include -I/home/www/franken-builder/dist/static-php-cli/buildroot/include -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/libpng16 -I/include -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/webp -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/freetype2 -I/home/www/franken-builder/dist/static-php-cli/buildroot/lib/pkgconfig/../../include/ImageMagick-7 -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/mbstring/libmbfl -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/mbstring/libmbfl/mbfl -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libxlsxwriter/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libexpat/expat/lib -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/library/libxlsxio/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/xlswriter/include -I/home/www/franken-builder/dist/static-php-cli/source/php-src/TSRM -I/home/www/franken-builder/dist/static-php-cli/source/php-src/Zend -I/home/www/franken-builder/dist/static-php-cli/buildroot/include -D_GNU_SOURCE -D_REENTRANT -pthread -fno-common -Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -ffp-contract=off -fvisibility=hidden -pthread -Wimplicit-fallthrough=1 -DZTS -DZEND_MAX_EXECUTION_TIMERS -g -Os -fno-ident -fPIE -Wno-strict-prototypes -I/home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/libgd -c /home/www/franken-builder/dist/static-php-cli/source/php-src/ext/gd/libgd/gd_io_ss.c -o ext/gd/libgd/gd_io_ss.lo -MMD -MF ext/gd/libgd/gd_io_ss.dep -MT ext/gd/libgd/gd_io_ss.lo x86_64-linux-musl-gcc: fatal error: Killed signal terminated program cc1 compilation terminated. make: *** [Makefile:944: ext/fileinfo/libmagic/apprentice.lo] Error 1 make: *** Waiting for unfinished jobs.... [18:11:06] [ERRO] Uncaught SPC\exception\RuntimeException: Command run failed with code[2]: cd '/home/www/franken-builder/dist/static-php-cli/source/php-src' && make -j2 INSTALL_ROOT=/home/www/franken-builder/dist/static-php-cli/buildroot EXTRA_CFLAGS='-g -Os -fno-ident -fPIE' EXTRA_LIBS='/home/www/franken-builder/dist/static-php-cli/buildroot/lib/libyaml.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libtidy.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/liblz4.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libsqlite3.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpq.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpgport.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpgcommon.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libreadline.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libonig.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/liblber.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libldap.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libsodium.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libMagick++-7.Q16HDRI.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libMagickWand-7.Q16HDRI.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libMagickCore-7.Q16HDRI.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libzip.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libtiff.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libncurses.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libgmp.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libfreetype.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libjpeg.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libturbojpeg.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebp.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebpdecoder.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebpdemux.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libwebpmux.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libsharpyuv.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libavif.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libpng16.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libcurl.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libzstd.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libxml2.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicui18n.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicuio.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicuuc.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libicudata.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libiconv.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libcharset.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbrotlidec.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbrotlienc.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbrotlicommon.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libssh2.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libssl.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libcrypto.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libz.a /home/www/franken-builder/dist/static-php-cli/buildroot/lib/libbz2.a -lstdc++ -lgomp ' EXTRA_LDFLAGS_PROGRAM='-all-static' install at /home/www/franken-builder/dist/static-php-cli/src/globals/functions.php(147) [18:11:06] [ERRO] #0 /home/www/franken-builder/dist/static-php-cli/src/SPC/util/UnixShell.php(51): f_passthru() #1 /home/www/franken-builder/dist/static-php-cli/src/SPC/builder/linux/LinuxBuilder.php(300): SPC\util\UnixShell->exec() #2 /home/www/franken-builder/dist/static-php-cli/src/SPC/builder/linux/LinuxBuilder.php(196): SPC\builder\linux\LinuxBuilder->buildEmbed() #3 /home/www/franken-builder/dist/static-php-cli/src/SPC/command/BuildCliCommand.php(173): SPC\builder\linux\LinuxBuilder->buildPHP() #4 /home/www/franken-builder/dist/static-php-cli/src/SPC/command/BaseCommand.php(101): SPC\command\BuildCliCommand->handle() #5 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Command/Command.php(326): SPC\command\BaseCommand->execute() #6 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Application.php(1078): Symfony\Component\Console\Command\Command->run() #7 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand() #8 /home/www/franken-builder/dist/static-php-cli/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun() #9 /home/www/franken-builder/dist/static-php-cli/bin/spc(21): Symfony\Component\Console\Application->run() #10 {main}
— Reply to this email directly, view it on GitHub https://github.com/dunglas/frankenphp/issues/982#issuecomment-2297159760, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOVHCBX6F4UAESQSABO5OLZSIZBRAVCNFSM6AAAAABMYGP2HGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOJXGE2TSNZWGA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Thanks @dunglas, I'm able to build the base static binary.
Unfortunately it seems there is no way to add custom caddy modules in the final static build with your docker image right?
I need to add the following modules (with go get or directly by editing go.mod & go.sum - see https://github.com/dunglas/frankenphp/issues/976#issuecomment-2296049125):
- github.com/darkweak/souin/plugins/caddy@65cb24114d76a7de3f4e8c7b8ef7df3efd028899
- github.com/darkweak/souin@65cb24114d76a7de3f4e8c7b8ef7df3efd028899
- github.com/darkweak/storages/otter/caddy
According to https://frankenphp.dev/docs/static/#customizing-the-build, I can't see any env vars to specify extra caddy modules as we can do for php extensions for instance.
Don't hesitate to tell me if I'm wrong (and how to do this) but it seems that it's currently impossible to have a static build of frankenphp with custom caddy modules.
I tries to edit locally https://github.com/dunglas/frankenphp/blob/main/caddy/go.mod without no effect at all, it seems everything come from your docker image dunglas/frankenphp:static-builder
@laurent-bientz any solution ? i m also facing same