Skip to content

feat(ship): first-party official docker images and supporting utilities#2004

Open
iamdadmin wants to merge 12 commits intotempestphp:3.xfrom
iamdadmin:3.x-aloft
Open

feat(ship): first-party official docker images and supporting utilities#2004
iamdadmin wants to merge 12 commits intotempestphp:3.xfrom
iamdadmin:3.x-aloft

Conversation

@iamdadmin
Copy link
Copy Markdown
Contributor

Closes #1983

Introducing tempestphp/aloft

Or, at least, if you like the name! 'aloft' was my idea for this pseudo-package because it invokes imagery of things in the sky ... among the clouds ... and docker images are very 'cloudy'.

I'll write out some Q&A in another reply, probably tomorrow now, so you can understand my choices in the design and production of this image, including the answers to "why not alpine?", "why rootless?" and "why distroless?".

Initial draft PR includes

  • Refactored and relocated ServeCommand and associated router.php file to support ./tempest serve --aloft to pull and run the docker image to serve a dev server, alongside php dev server remaining primary
  • Custom Caddyfile based on FrankenPHP official with extra settings
  • Custom distroless and rootless Dockerfile based on GoogleContainerTools Debian Trixie, with a 'debug' version containing BusyBox
  • Custom dependencies support script which is injected in the build
  • Version pinning (i.e. frankenphp release-to-php release "1.11.2-8.5.3") as well as "latest" images

Things to be checked

  • composer.json probably isn't going to be wired correctly
  • tempest/aloft may need to be 'required' in some other composer.jsons depending how ServeCommand was called

Still to be done

  • Clarify CI/CD pipeline (may just be a Docs task)
  • Docs
  • Tests
  • Are any additional ENVs a good idea?
  • Where will the images be pushed to? Dockerhub is obvious option but ghcr and others, of course.

Future roadmap

  • When worker mode is ready, we'll need to iterate

Loading
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.

Create FrankenPHP Dockerfile

4 participants