-
-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add FrankenPHP support #283
base: main
Are you sure you want to change the base?
Conversation
This would be super cool to have! Great work on this so far! |
# Conflicts: # .github/workflows/service_docker-build-and-publish.yml
Deploying serversideup-php with Cloudflare Pages
|
This would really be a nice addition.. |
This will be a wonderful addition! |
This would be a great feature! 🚀 |
Not sure how I missed your message @mihai-burduselu-ptt. I am getting v3.4 updates out the door for the last major optimizations for |
This is a great addition to serversideup. Any updates regarding frankenPHP? |
I'd like to see FrankenPHP added too. |
Thanks for your patience, all! I'm looking for the future of PHP and I really hope FrankenPHP is it. I've been very busy with Spin and once I get this big release of Spin v3 out the door, then I will be swinging to this. Exploring FrankenPHP is very important to me and I will definitely be getting this accomplished 💯 |
I am back from holiday break and will be evaluating this for v3.6. I have taken about 3 attempts at this and have paused and deleted each time 🙃🔥 My challenge is I believe I need to compile FrankenPHP from source so I can maintain the "single source of truth" from the official Docker PHP images. I need to spend more time ensuring this is the way, since I haven't compiled a Go app in my life 😅 I will keep everyone posted once I have an update but please chime in below if you have any thoughts 🙏 |
@jaydrogers Not sure if this is feasible? The frankenphp images are based on the official docker images and add their stuff on top, so the php images would still be the source of truth? It’s additional work to keep the build working, which is done by the frankenphp maintainers anyway. Since it’s based on official docker images, you should be able to do anything you want with the frankenphp images, don’t you? That being said, I have no deep understanding about what you’re adding, so my opinion might be invalid 😅 |
Thanks for chiming in! Yes, you're totally right -- and I've tried this path. This might be a complicated for a single GitHub issue post, but here is an attempt on simpliying a few critical background parts:
If a new version of PHP is made available and FrankenPHP hasn't released that version yet, the build will fail. This adds two layers of dependencies for all Server Side Up images (if they are FrankenPHP or not):
This is where I hit my head against the wall and decided to take a break and circle back later 😃 I believe my latest theory was to use Multi-stage builds take the official build PHP image, check out a specific version of FrankenPHP, then compile it following their methods -- but I don't want to re-invent the wheel on compiling either 😅 Full build processdocker-php/.github/workflows/service_docker-build-and-publish.yml Lines 41 to 169 in 4807f98
|
@jaydrogers Thanks for the explaination, I definitely see your point. I guess it’s a trade of between path a) or b) where both require extra work then 😅 If it where up to me to decide, I'd probably add the additional dependency of frankenphp to the automated pipeline: Additionally check the frankenphp releases and only build this flavour of serversideup if the release is available. Again I might be missing something from a lack of knowledge. Also the frankenphp images apparently are automatically built when a new php image is available: https://frankenphp.dev/docs/docker/#updates |
Franken PHP
🚀 What this PR does
PHP_
environment variables from other Server Side Up images to work with FrankenPHPCreate documentation
Checklist
SSL_MODE
works as other variations