Skip to content
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

Release/v3.0 #207

Merged
merged 339 commits into from
Feb 5, 2024
Merged

Release/v3.0 #207

merged 339 commits into from
Feb 5, 2024

Conversation

jaydrogers
Copy link
Member

@jaydrogers jaydrogers commented Sep 14, 2023

What this PR does

This PR has a major improvements and changes. It is a foundational shift in the direction of this project (all for the good). Migration guides and a plethora of documentation will be created to help you migrate.

Background

The "Docker PHP" project has been around for a number of years, providing an awesome user experience for PHP sysadmins. It has always been based off of Ubuntu images and used the Ondrej PPA for getting PHP modules/extensions.

In version 2.0, we embraced the use of S6 overlay -- which worked great for solving the problem of running multiple services in a single container (especially for things like NGINX + FPM),

Problem

These images have really started to build up in popularity and more advanced use cases are coming in.

A major few problems have come up:

Proposed solution

These two problems turned into a massive perspective change since these two restrictions greatly inhibit the stability, compatibility, and precision of these images.

Change the source of PHP from "ppa:ondrej/php" to the Official PHP Docker Images

image
Since version pinning is not possible with APT, we decided the best place to get PHP is from PHP themselves. For the 3.0 release, we will be taking our lovely developer experience and bringing this to you on images that are based directly from the official PHP Docker images -- with a bunch of improvements.

Major benefits:

  • We can reduce our reliance on S6 Overlay (S6 will only be used in our fpm-nginx and fpm-apache variations
  • We can pull in specifically what minor version we want to work with
  • People who are using the official PHP images already will be able to confidently switch by a simple image name change
  • We will be able to offer an Alpine version of the images (a much smaller footprint compared to other OS distros)

Breaking changes:
Because of this change, our current users will need to be aware of a few major breaking changes:

  • Ubuntu will no longer be offered. Everything from PHP is Debian or Alpine only.
  • PHP Extensions will need to be installed via PECL (ie. apt install php-redis won't work anymore). We will provide wonderful documentation and content on how you can add do this

Things that will not change:

  • We will continue to provide a beautiful sysadmin & development experience

New features:

  • For every PHP version, we will offer a debian and alpine version
  • Users can easily customize their container start up behavior by dropping scripts into /etc/entrypoint.d/ (this experience is DOPE and we will document it soon)
  • You can select which PHP version you want by major, minor, or patch (ex. 8, 8.2, 8.2.11)
  • We will be offering an nginx-unit variation (we're really hoping this will be the ultimate way to run modern PHP)

Documentation improvements

As we work on this release, we intend to create a lot of content to show you more of behind the scenes and give you more practical examples of running these images in development, CI, and production.

@danpastori and I will be working on building Financial Freedom in public, an open source alternative to Mint/YNAB that is based off of Laravel and can be run in the cloud or people's homelabs. Expect more content to appear on our YouTube channel, Twitter, and more.

While things are still in progress, I will also pick some special use cases and create videos on how to extend the new type of images that we are creating. Below is a list of things to add to the documentation (feel free to comment below if you have more suggestions)

Related Discussions:

Special Note

👉 This PR is a work in progress and any updates will be added to this top message

@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) January 10, 2024 17:39 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) January 10, 2024 17:41 Inactive
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) January 10, 2024 20:05 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) January 10, 2024 20:07 Inactive
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) January 11, 2024 14:55 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) January 11, 2024 14:56 Inactive
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) January 12, 2024 14:06 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) January 12, 2024 14:08 Inactive
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) January 31, 2024 19:19 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) January 31, 2024 19:20 Inactive
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) January 31, 2024 20:28 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) January 31, 2024 20:29 Inactive
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) February 5, 2024 19:16 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) February 5, 2024 19:17 Inactive
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) February 5, 2024 19:20 — with GitHub Actions Inactive
@jaydrogers jaydrogers marked this pull request as ready for review February 5, 2024 19:22
@jaydrogers jaydrogers merged commit 20ecec1 into main Feb 5, 2024
1 check failed
@jaydrogers jaydrogers temporarily deployed to docker-php (Preview) February 6, 2024 14:58 — with GitHub Actions Inactive
@github-actions github-actions bot temporarily deployed to docker-php (Preview) February 6, 2024 15:00 Inactive
@jaydrogers jaydrogers deleted the release/v3.0 branch February 7, 2024 19:06
@jaydrogers jaydrogers restored the release/v3.0 branch February 7, 2024 19:06
@jaydrogers jaydrogers deleted the release/v3.0 branch April 15, 2024 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚡️ Enhancement Items that are new features requested to be added.
Projects
None yet
10 participants