Skip to content

Roadmap #359

Open
Open
@mistraloz

Description

@mistraloz

Hello Everybody,

I'm sorry because we haven't had lot of time to maintain these images from few month. We will start a new batch of feature and a new version 5. We haven't set up a date yet but it's going to happen as soon as possible (I will try to dedicate at least one day per weekon it from now).

This topic will be used as announcement wall but also for open discussions about features and organisation of this repository. If some active contributors want to join us, they are welcome to work on some part, review, give idea, ...

Minimal requirements for V5 :

  1. Upgrade the base image to the last ubuntu LTS version : it will help to reduce any security issue like Vulnerabilities found #342
  2. Usage of https://github.com/mlocati/docker-php-extension-installer to manage installation of php extensions (very good tool, it's seem useless to duplicate the work). It supports all versions from php 5.5 and is actively maintained.
  3. A good implementation a tiny process manager to avoid bad SIG signal to process and allow a well management for multiple PID in same container (this type of usage will still not be recommended for production but very useful in development) Run Apache2 in background #215 [feature request] Add a process manager like supervisord #147
  4. A better implementation of php-fpm (very more efficient in production that mod php) : lot of issues was related to that last year

Breaking changes

It will depend on difficulties encountered during the development. But this is what we expect:

  1. Less extensions may be managed in the fat image : docker-php-extension-installer allow to manage lot of extension, we should implement all... but more used will be preinstalled, others will be just installed at first boot.
  2. We can continue to have an active support onto 6 version of php, with 3 variants, and 5 version of node... and all for arm and amd. It's too much. In the other hand, theses images are very useful because we can upgrade a project in php7.1 with it and continue until 8.2. My idea is to continue with best effort support but maybe with only different mix of possibilities for deprecated versions.
  3. Configuration with ARG PHP_EXTENSIONS=my_ext , ENV PHP_EXTENSIONS=my_ext and ENV PHP_EXTENSION_MY_EXT=1 are too confused. We need to find a better idea to avoid mistakes (and keep a low number of images layers : it's the main trouble with that). It may require to remove the "ON BUILD" feature to add php extensions and use instead the regular usage with docker-php-extension-installer.
  4. ... this list is not exhaustive, and we can discuss it if we find solutions to bring the V4 configuration to V5

Roadmap

In addition to minimal features for V5, i have in my head, some others objectives for this version :

  1. A more usable documentation for that : especially for php-fpm, it requires a good implementation of others process (nginx for file and traefik with a good translation of real user ip per example)... but this tool starts to have a lot of different features so we need to organise it
  2. Manage an alpine base image (of wasm? I dont know yet what is possible with web assembly) to allow faster build time and smaller images. Especially from the support of arm, ours builds stages are very (very very) long. It's reduce the capacity of deploying new features, make security updates, etc. But migrate from ubuntu to alpine seems like a too high breaking change. I prefer using alpine as default but continue to allow ubuntu for local dev of user with less skills in sysops.
  3. Focus on security support : implement more scans features and publish their result. It's a very important thing for confidence. We cannot anymore take a tool from Github and just said "it's okay", we need to provide some proof and ensure the security support. It may also require some guidance on documentation for implementation.
  4. A new support way as asked here Support the creators #357 : we spoke about that for a while internally but we don't know exactly how to manage that. We will see that. In addition, it can't be the only way to have more support : we need also to find more contributors (for PR, review, ... but also to challenging the features of the project).
  5. Abandonment of orbit tool : it was a great tool but he lived. We need to have a more common way to manage templating (buildx seems like a better way for many things). The objective is to allow more contributions.
  6. A reflexion should be conduct for the V6 about the objective of theses images. Currently we have apache+php+node+supercronic+startup command+blackfire+... whooo : we invented the macroservice? Currently we will stay like that but maybe we should have a reflexion for the v6 about the main usages and instead of one big image, suggest usage of different micro services (file http server + php-fpm + cron + mysql + reverse proxy + smtp + startup command from the manager like kube or others, etc).

That's all. Thx for reading. Please comment, i'm starting the work. Please tell me if you have suggestions, advices, if you want to join for a meeting in visio and work together, ...

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is neededinformationIssue still active to avoid duplicate (information about deprecated version, workaround, doc...)

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions