Skip to content

Blog: Manually managing tool versions and adding custom utilities #382

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

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

bserem
Copy link

@bserem bserem commented Jun 12, 2025

The Issue

Blog about manually managing installed software in ddev

How This PR Solves The Issue

Provides the article

Manual Testing Instructions

Automated Testing Overview

Related Issue Link(s)

ddev/ddev#7352

Release/Deployment Notes

@rfay
Copy link
Member

rfay commented Jun 12, 2025

Just a note: Please use a meaningful branch name (not main) when creating a PR anywhere. If you use main it means you can only ever have one PR, and anything you do on main breaks the existing PR.

Copy link
Member

@rfay rfay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely needs to lead with the problem at hand (terminus downgrade) and that needs to be added to the title as well.

@bserem
Copy link
Author

bserem commented Jun 12, 2025

Changes applied!

I'll remember the tip for branching.

@bserem bserem requested a review from rfay June 12, 2025 14:56
@rfay rfay added this to Next TODOs Jun 13, 2025
Copy link
Member

@rfay rfay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coming along great, thanks for doing this!

@bserem
Copy link
Author

bserem commented Jun 19, 2025

Pushed some changes, please review.

Thanks for holding my hand in this one

@rfay
Copy link
Member

rfay commented Jun 23, 2025

On my list, thanks! If you get a chance also try to fix the test failure (should be easy, hints on lint fixes in the README.md)

Copy link
Member

@rfay rfay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the work on this! I'll see if I can clear up the linting failures.

Copy link
Member

@rfay rfay left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good, thanks! I fixed the prettier linting complaint so do a git pull if editing locally.

contributor [Bill Seremetis](/blog/author/bill-seremetis/) and sponsored by
[Annertech](https://www.annertech.com)._

DDEV comes bundled with a predefined set of tools, `terminus` being one of them.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
DDEV comes bundled with a predefined set of tools, `terminus` being one of them.
DDEV comes bundled with a predefined set of tools, Pantheon's `terminus` being one of them.

Comment on lines +20 to +21
Latest releases of `terminus` are not compatible with older PHP versions,
thus there is a need to downgrade the package inside DDEV.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Latest releases of `terminus` are not compatible with older PHP versions,
thus there is a need to downgrade the package inside DDEV.
The latest releases of `terminus` are not compatible with older PHP versions like PHP 8.1, though,
so we needed to downgrade it inside DDEV's `ddev-webserver` Docker image.

Comment on lines +23 to +24
This guide covers how and will also explain how to use the same technique to install
custom tools too.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This guide covers how and will also explain how to use the same technique to install
custom tools too.
This guide covers how to downgrade `terminus` and will also explain how to use the same technique to install
additional custom tools.

here, but also [check `webimage_extra_packages` and `dbimage_extra_packages` in your
`config.yaml`for more details](https://ddev.readthedocs.io/en/stable/users/extend/customizing-images/#adding-extra-debian-packages-with-webimage_extra_packages-and-dbimage_extra_packages)).

## Case study:Manually downgrading Terminus
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Case study:Manually downgrading Terminus
## Case study: Manually Downgrading Terminus

Comment on lines +33 to +36
[Terminus](https://github.com/pantheon-systems/terminus/releases) dropped
support for PHP 8.1 in newer versions which we still rely on in some of our
projects. We had to downgrade the DDEV bundled version of Terminus for those
projects by using a custom Dockerfile:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[Terminus](https://github.com/pantheon-systems/terminus/releases) dropped
support for PHP 8.1 in newer versions which we still rely on in some of our
projects. We had to downgrade the DDEV bundled version of Terminus for those
projects by using a custom Dockerfile:
[Terminus](https://github.com/pantheon-systems/terminus/releases) dropped
support for PHP 8.1 in recent versions, but some of our
projects still use PHP 8.1. We had to downgrade the DDEV-bundled version of `terminus` for those
projects by using a custom Dockerfile:

@rfay rfay requested review from tyler36 and stasadev June 25, 2025 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants