From 56147f71ee0f133e334e55be062a3e2f6fc92176 Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Fri, 3 Oct 2025 10:18:40 -0600 Subject: [PATCH 01/13] blog: DDEV in 10 minutes on Linux --- .../vtt/DDEV in 10 Minutes on Linux.mp4.vtt | 634 ++++++++++++++++++ .../blog/ddev-on-linux-in-10-minutes.md | 70 ++ 2 files changed, 704 insertions(+) create mode 100644 public/files/vtt/DDEV in 10 Minutes on Linux.mp4.vtt create mode 100644 src/content/blog/ddev-on-linux-in-10-minutes.md diff --git a/public/files/vtt/DDEV in 10 Minutes on Linux.mp4.vtt b/public/files/vtt/DDEV in 10 Minutes on Linux.mp4.vtt new file mode 100644 index 00000000..4b7fc450 --- /dev/null +++ b/public/files/vtt/DDEV in 10 Minutes on Linux.mp4.vtt @@ -0,0 +1,634 @@ +WEBVTT + +00:00:00.780 --> 00:00:04.840 +Hi, there. My name is Randy Fay. I'm one +of the maintainers of the DDEV + +00:00:05.000 --> 00:00:09.800 +project. DDEV is a local development +environment for + +00:00:09.880 --> 00:00:14.870 +web developers, and we're gonna just show +how to do it. + +00:00:14.900 --> 00:00:19.480 +We're gonna try to set up DDEV on Linux +all the + +00:00:19.540 --> 00:00:24.390 +way to using it in 10 minutes. So let's +see how we do + +00:00:24.500 --> 00:00:28.800 +here. Uh, it is 8:40. We'll see how we do. + +00:00:30.160 --> 00:00:35.020 +Okay, first of all, I went to +https://ddev.com/get-started, and it + +00:00:35.080 --> 00:00:38.900 +automatically shows me being on Linux, +uh, + +00:00:38.910 --> 00:00:43.120 +platform. And what we're gonna do is we're +going to install Docker CE + +00:00:43.220 --> 00:00:47.920 +first, so let me just open the Docker + +00:00:48.140 --> 00:00:52.680 +instructions. And I'm gonna go down and + +00:00:52.860 --> 00:00:57.580 +here's their apt repository. I'm + +00:00:57.640 --> 00:00:59.240 +going to paste that + +00:01:01.420 --> 00:01:09.640 +here. + +00:01:18.700 --> 00:01:22.520 +Okay, so now we'll do apt install + +00:01:22.560 --> 00:01:26.400 +docker-ce. + +00:01:34.140 --> 00:01:39.140 +That's got Docker now set up for us. +There's not + +00:01:39.200 --> 00:01:43.860 +much to do here. If I do a sudo docker ps, +it will work, + +00:01:43.900 --> 00:01:46.940 +but we haven't enabled our regular user to +use it. + +00:01:47.040 --> 00:01:51.220 +We have to do the post-install action, +which is pretty easy. + +00:01:51.300 --> 00:01:52.720 +Uh, let's just take a look + +00:01:52.840 --> 00:01:56.660 +here. + +00:01:59.080 --> 00:02:03.940 +Here's their post-installation action, and +it's just adding the user + +00:02:04.060 --> 00:02:08.100 +to, adding the user's privilege to run +Docker. + +00:02:08.160 --> 00:02:12.440 +So, I'm gonna paste that here. It's just +sudo + +00:02:12.620 --> 00:02:17.260 +usermod, uh, docker on my user. Uh, + +00:02:17.320 --> 00:02:20.940 +normally you would have to reboot or log +out and then log back in again, + +00:02:20.980 --> 00:02:25.700 +but I'm just gonna say "newgroup docker". +And now I can just do a + +00:02:25.740 --> 00:02:30.480 +"docker ps" and Docker is all working for +me. So we've done the + +00:02:30.540 --> 00:02:34.660 +first step now. Let's go back to the Get +Started page. + +00:02:34.720 --> 00:02:39.260 +We've installed Docker. Now we'll install +DDEV. So, + +00:02:39.900 --> 00:02:44.600 +let's go ahead and copy this section here. + +00:02:46.640 --> 00:02:50.520 +This is also in the DDEV docs at +https://docs.ddev.com, which is + +00:02:50.560 --> 00:02:54.020 +fine. So, let's paste + +00:02:54.080 --> 00:03:00.440 +that. + +00:03:05.820 --> 00:03:10.640 +Now "ddev --version" should show us the +current stable + +00:03:10.720 --> 00:03:15.680 +version of DDEV, and it does. So, our + +00:03:15.740 --> 00:03:20.660 +third step here is to do a "mkcert +-install". mkcert is + +00:03:20.700 --> 00:03:25.580 +DDEV's magic that lets you use HTTPS, use + +00:03:25.640 --> 00:03:30.340 +trusted HTTPS, on your machine. It tells +your browser to + +00:03:30.380 --> 00:03:35.120 +accept the DDEV certificates. + +00:03:37.020 --> 00:03:41.460 +So there is our, uh, there is our setup, +and + +00:03:45.040 --> 00:03:48.870 +let's go ahead and create a project. What +I'm going to do + +00:03:52.360 --> 00:03:56.980 +is I'm going to... I always put my +projects in a workspace + +00:03:57.380 --> 00:04:01.960 +folder, and I'm just gonna check + +00:04:02.080 --> 00:04:06.760 +out a standard Drupal project that I'm +always working with. + +00:04:13.140 --> 00:04:16.370 +It's just a Drupal 11 project and I'm just +gonna check it out, + +00:04:17.279 --> 00:04:21.409 +and then we're going to use it. + +00:04:23.260 --> 00:04:28.140 +So, here I can do a DDEV config, and + +00:04:28.240 --> 00:04:32.960 +it's going to use the folder name as the +project name. + +00:04:32.969 --> 00:04:37.520 +It automatically detected the docroot, +which is web, + +00:04:37.640 --> 00:04:41.490 +and it automatically detected the Drupal +11, um, + +00:04:42.260 --> 00:04:46.560 +code base there. So, now we can do a DDEV + +00:04:46.620 --> 00:04:51.480 +start. So we will do a "ddev start". Now +this + +00:04:51.520 --> 00:04:56.400 +is going to download the images, the +Docker images, + +00:04:56.780 --> 00:05:01.110 +which... it's a one-time, it's a one-time +thing. You usually only have to do this + +00:05:01.140 --> 00:05:04.420 +when you're upgrading DDEV or the first +time you use it. + +00:05:04.500 --> 00:05:08.469 +So, here we are. Um, we'll say yes, we can + +00:05:08.500 --> 00:05:13.000 +send, uh, instrumentation up, and here it +is pulling the + +00:05:13.060 --> 00:05:17.010 +images. This takes a couple of minutes, +but again, + +00:05:17.040 --> 00:05:21.620 +this is usually only on first install or +upgrade or if you're using + +00:05:23.000 --> 00:05:27.830 +some different, some different thing +than you, + +00:05:27.920 --> 00:05:32.720 +uh, were using on previous projects. So, + +00:05:32.800 --> 00:05:36.900 +uh, this is pretty fast internet. It might +take a little longer if you have slower + +00:05:36.980 --> 00:05:38.400 +internet or whatever, but, + +00:05:38.440 --> 00:05:57.811 +uh...It + +00:05:57.822 --> 00:06:02.671 +does a little customization in the images +to put your user- username + +00:06:02.692 --> 00:06:07.671 +and user ID in there, so that you can work +inside the container with the same exact + +00:06:07.732 --> 00:06:10.652 +username and UID. So that's what it means +when it says, + +00:06:11.192 --> 00:06:15.491 +"Building project images." It's building +images specifically for you. + +00:06:15.532 --> 00:06:19.582 +Now, this project has an automatic "ddev +composer install" on start. + +00:06:19.632 --> 00:06:23.902 +I forgot about that, but I'll- I'll show +you that anyway. + +00:06:23.991 --> 00:06:28.912 +Um... (keyboard clicking) Normally, you +would do a ddev + +00:06:28.972 --> 00:06:33.852 +composer install on a on a PHP +project that had + +00:06:33.912 --> 00:06:38.412 +Composer. Um, that runs Composer and PHP + +00:06:38.592 --> 00:06:43.171 +inside the project. Since our, since our +hook did that automatically, + +00:06:43.232 --> 00:06:47.751 +we were all set. So, we have got our +project installed. + +00:06:47.792 --> 00:06:52.611 +Now, we're six minutes in on a brand new +machine, and, + +00:06:52.692 --> 00:06:56.532 +uh, let's just go ahead and try this out +and see what happens. + +00:06:56.592 --> 00:07:00.912 +I'm going to do a "ddev launch", um, and that +will launch, + +00:07:01.012 --> 00:07:05.512 +Firefox here. And here is + +00:07:05.572 --> 00:07:09.912 +the Drupal install screen. So, I'm going + +00:07:09.991 --> 00:07:14.921 +to... And you see that it's got, uh, +trusted HTTPS here, + +00:07:14.932 --> 00:07:19.912 +because, uh, DDEV does that with mkcert. And I'm gonna do the, + +00:07:19.952 --> 00:07:23.932 +uh, the nice demo version of this. Here is +Drupal being + +00:07:23.991 --> 00:07:28.592 +installed. Takes no time at all. Uh, Linux +is + +00:07:28.792 --> 00:07:33.592 +super fast with this. I'll just put the +things here that DDEV + +00:07:33.671 --> 00:07:35.832 +wants, that, uh, Drupal + +00:07:35.932 --> 00:07:40.452 +wants. + +00:07:40.462 --> 00:07:42.462 +(keyboard clicking) + +00:07:42.852 --> 00:07:49.512 +And... + +00:07:53.671 --> 00:07:57.532 +So, here it is. It's all set up. Our +project is running, + +00:07:57.551 --> 00:08:01.111 +and we've got all the normal things that +we would expect to have. + +00:08:01.131 --> 00:08:05.731 +This is just an ordinary, uh, demo, uh, +Drupal 11 + +00:08:05.852 --> 00:08:10.462 +site. So, there we are. Uh, we're gonna... +Now, we're going to + +00:08:10.491 --> 00:08:14.902 +install PhpStorm and do a little Xdebug +with this, + +00:08:14.952 --> 00:08:19.192 +so that we can do step debugging, which is +critical for any developer. + +00:08:19.272 --> 00:08:22.932 +So, I am going to go here, + +00:08:24.032 --> 00:08:28.152 +and I'm going to do a sudo snap + +00:08:28.371 --> 00:08:32.111 +install --classic + +00:08:33.510 --> 00:08:37.291 +PhpStorm. + +00:08:38.131 --> 00:08:42.861 +And what we're gonna do is just use +PhpStorm like any developer would use, + +00:08:43.692 --> 00:08:48.132 +and we're going to, uh, set a breakpoint. + +00:08:49.092 --> 00:08:53.832 +Uh, we'll just use the index.php of this +project, but we're gonna set a breakpoint, + +00:08:54.712 --> 00:08:59.432 +and we're gonna have PhpStorm listen, and +we're gonna tell DDEV to turn + +00:08:59.512 --> 00:09:04.492 +on Xdebug, because we need to be able to +s- step through our + +00:09:04.512 --> 00:09:09.252 +project and understand what it's doing and +why. Uh, + +00:09:09.372 --> 00:09:14.031 +Snap is a little slower getting PhpStorm +than usual + +00:09:14.492 --> 00:09:17.672 +right now, so I'll try to be patient. But +this is, + +00:09:17.771 --> 00:09:21.791 +uh, this is the easy stuff. + +00:09:21.892 --> 00:09:26.832 +Um, just a reminder here, I'll + +00:09:26.872 --> 00:09:30.531 +just open another window. Um, our + +00:09:30.612 --> 00:09:34.952 +project is right here in + +00:09:35.012 --> 00:09:39.872 +workspace.d11, and we have, in the + +00:09:40.512 --> 00:09:44.812 +web directory, we have an index.php, which +drives all of + +00:09:44.892 --> 00:09:48.852 +this. And, of course, the vendor + +00:09:48.892 --> 00:09:53.771 +directory has been populated by our, our +Composer + +00:09:53.812 --> 00:09:57.932 +install, which was done inside the +container. + +00:10:02.172 --> 00:10:07.102 +And our PhpStorm is ready. I should've +done + +00:10:07.132 --> 00:10:11.412 +a PhpStorm Amper, but I didn't. Um, here +we are. + +00:10:12.872 --> 00:10:16.632 +We have read it very carefully. + +00:10:18.832 --> 00:10:23.771 +And now we're gonna open this project. I +don't, don't know what the input + +00:10:23.781 --> 00:10:27.412 +thing is, but I'm gonna do it anyway. Here +we are. + +00:10:27.452 --> 00:10:31.192 +Here's the workspace directory. Here's +d11. I'm gonna select + +00:10:31.202 --> 00:10:34.932 +that. I'm gonna trust projects in my +workspace + +00:10:35.072 --> 00:10:39.692 +folder. And here we + +00:10:39.791 --> 00:10:42.612 +are. We see our project. Um, + +00:10:44.932 --> 00:10:49.472 +we are... See our project. Here's the web +directory. + +00:10:50.311 --> 00:10:55.291 +And I'm going to open the index.php. + +00:10:56.972 --> 00:11:01.632 +And I'm just gonna make a breakpoint here. +So, here's my + +00:11:01.712 --> 00:11:05.392 +breakpoint. That's where I wanna stop. Of +course, you would be doing something more + +00:11:05.432 --> 00:11:09.452 +sophisticated in your project that you're +studying, your module or + +00:11:09.512 --> 00:11:14.452 +whatever. And now I can, um, + +00:11:15.912 --> 00:11:19.752 +I can click the, uh, start listening for +PHP debug + +00:11:19.832 --> 00:11:24.632 +connections. So, I'm gonna tell, tell it +to start listening. + +00:11:25.172 --> 00:11:29.892 +I have to get my, uh... Sorry, I have to +get that + +00:11:30.051 --> 00:11:31.952 +out of the way of the re- actual recording + +00:11:32.072 --> 00:11:35.352 +software. + +00:11:37.952 --> 00:11:41.832 +So... + +00:11:44.232 --> 00:11:48.652 +And I wanna turn on the, um... I don't, I +don't need to validate, + +00:11:48.662 --> 00:11:51.672 +'cause with DDEV everything's working. So, +here it is. + +00:11:51.692 --> 00:11:56.672 +It's listening. And in DDEV, + +00:11:57.412 --> 00:12:00.771 +uh, I'm going to just, + +00:12:00.892 --> 00:12:05.688 +um...I'm gonna do a DDEV-xdebug on, +(keyboard clicking) telling + +00:12:05.868 --> 00:12:09.708 +DDEV to use that. And now we'll go back +and visit our + +00:12:09.788 --> 00:12:14.388 +project. Just go to the home directory. +And here, + +00:12:14.488 --> 00:12:18.778 +uh, PhpStorm recognized that that was +going on, + +00:12:18.828 --> 00:12:21.788 +immediately caught it. Now, the first time +you do this, + +00:12:21.848 --> 00:12:26.438 +it has to map your code to the code inside +the + +00:12:26.508 --> 00:12:30.188 +container. And you see the code inside the +ca-container is at + +00:12:30.248 --> 00:12:34.848 +var/www/html. And it says, "Well, what is +it + +00:12:35.228 --> 00:12:40.048 +on the, on the, on the host?" And it's +this + +00:12:40.128 --> 00:12:44.888 +right here, workspace-d11/web/index.php. +So I'm gonna + +00:12:44.898 --> 00:12:49.448 +accept that, and here we are. We + +00:12:49.528 --> 00:12:54.448 +have, uh, we are in PhpStorm. It has +stopped at the line + +00:12:54.508 --> 00:12:59.468 +that I set the break point on. And here, I +can see all + +00:12:59.568 --> 00:13:04.468 +of the variables that are here, and I can +step through + +00:13:04.528 --> 00:13:09.368 +this. So I'll step through with an F8, um, +and I can step + +00:13:09.528 --> 00:13:14.368 +in. I can step into each of these +functions. So what + +00:13:14.408 --> 00:13:19.388 +we've done is in, oh, maybe I took 13 +minutes. We started with a + +00:13:19.428 --> 00:13:23.208 +plain vanilla, uh, a plain vanilla + +00:13:24.528 --> 00:13:29.008 +pro- uh, uh, Ubuntu system with nothing +installed on it. + +00:13:29.028 --> 00:13:33.768 +We installed Docker. We installed DDEV. We +installed + +00:13:33.828 --> 00:13:38.668 +PhpStorm. We installed a Drupal 11 project +and did the + +00:13:38.688 --> 00:13:43.128 +composer install on it. We ran through the +installation, + +00:13:43.228 --> 00:13:47.908 +and then we, uh, debugged it with +PhpStorm. So + +00:13:47.968 --> 00:13:51.868 +that's, uh, that's Linux, DDEV, + +00:13:53.148 --> 00:13:56.278 +10 minutes, sort of. It was, it was kinda +10 minutes, + +00:13:56.348 --> 00:14:00.648 +but we did a lot in 13 minutes. So we, we +invite you to join + +00:14:00.728 --> 00:14:04.748 +us, uh, DDEV.com, docs.DDEV.com. Join us +in + +00:14:04.788 --> 00:14:09.768 +Discord. We'll have all of this in the, in +the recording and the blog post + +00:14:09.788 --> 00:14:11.658 +that goes with it. Thanks for joining + +00:14:11.688 --> 00:14:16.000 +today. diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md new file mode 100644 index 00000000..2ac7abc7 --- /dev/null +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -0,0 +1,70 @@ +--- +title: "DDEV on Linux in 10 Minutes (Video)" +pubDate: 2025-10-06 +#modifiedDate: 2025-06-09 +summary: DDEV works great on Linux, we'll set it up from scratch in just 10 minutes.. +author: Randy Fay +#featureImage: +# src: /img/blog/2024/11/windows-install-blog-logos.png +# alt: +categories: + - DevOps + - Videos +--- + +TODO: +* Add outline here, add outline to the video + +
+ +
+ +This screencast walks you through setting up a complete DDEV development environment on Linux, starting completely from scratch. Whether you're new to DDEV or local development environments in general, this step-by-step guide will get you up and running quickly. + + +Here's what happens in this screencast. You can do it yourself in moments. We're using [DDEV's get-started](/get-started), but of course there is far more detail in the [DDEV docs](https://docs.ddev.com), explaining how to use other distros or other install techniques. + +1. Install Docker CE. Use the `apt` repository technique from [Docker's docs](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository). + * Do the post-install one-time action: `sudo usermod -aG docker $USER`. + * We could log out and log back in, but instead for now `newgrp docker`. +2. Install DDEV, using the `apt` repository technique from [get-started](/get-started). + * `ddev --version` shows us being working fine with current stable. +3. One-time `mkcert -install` helps your browser trust DDEV's HTTPS certificates. +4. Check out a project. I used [rfay/d11](https://github.com/rfay/d11), a trivial demo Drupal 11 project. (DDEV's [quickstarts show many different project types](https://docs.ddev.com/en/stable/users/quickstart/) with quick startup.) +5. `ddev config` the project. Most of the time you can take the defaults. But most of use use a non-interactive command like `ddev config --project-type=drupal11 --docroot=web`. +6. `ddev start` the project. The first time on a new system you get the downloading of the Docker images. +7. `ddev composer install` for most projects +8. `ddev launch` and install with the web UI. On another project I might have used `ddev import-db` to load a database dump instead of doing an install. +9. `sudo snap install --classic phpstorm` (or install it any other way you want to). +10. Open the project and set a breakpoint in `web/index.php`. +11. Click the "Listen for PHP Debug Connection" button in PHPStorm. +12. `ddev xdebug on` +13. Visit the site in the browser. PhpStorm wakes up and asks us to map the code from the host/workstation side to the mount point in the container. The default usually works. +14. Debug, step over, step in, view variables, etc. + + +## Key Things to Know + +**Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment instead of fighting about which OS is best. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). +**Support for almost any PHP-based project and many NodeJS environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. +**More Extensive Docs**: + * [DDEV Docs](https://docs.ddev.com) + * [DDEV Quickstarts](https://docs.ddev.com/en/stable/users/quickstart/) + * [DDEV Installation](https://docs.ddev.com/en/stable/users/install/) + * [DDEV Configuration](https://docs.ddev.com/en/stable/users/configuration/) + * [DDEV Debugging](https://docs.ddev.com/en/stable/users/debugging/) + * [DDEV FAQ](https://docs.ddev.com/en/stable/users/faq/) + * [DDEV Community](https://ddev.community/) + + +**Support the DDEV Project:** DDEV is fully open-source and free to use, and run by the nonprofit DDEV Foundation. We ask you to help make us a sustainable project by sponsoring yourself or getting your organization to sponsor the project. [Sponsor us on GitHub](https://github.com/sponsors/ddev). + +Questions? Issues? We're here to help: + +- πŸ’¬ [Contact our team](/contact) +- πŸ“– [Simple installation docs](/get-started) +- πŸ“– [Full installation docs](https://docs.ddev.com/en/stable/users/install/ddev-installation/#ddev-installation-windows) + +_Have you signed up for the monthly [DDEV Newsletter](/newsletter)? We'd love to have you._ + +Claude Code was used in editing this blog and in preparing video outline, etc. From c8319eec9ce74613ded6b8de5de6700194eba79a Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Fri, 3 Oct 2025 11:50:47 -0600 Subject: [PATCH 02/13] prettier --- .../blog/ddev-on-linux-in-10-minutes.md | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index 2ac7abc7..dfddd938 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -6,14 +6,15 @@ summary: DDEV works great on Linux, we'll set it up from scratch in just 10 minu author: Randy Fay #featureImage: # src: /img/blog/2024/11/windows-install-blog-logos.png -# alt: +# alt: categories: - DevOps - Videos --- TODO: -* Add outline here, add outline to the video + +- Add outline here, add outline to the video
@@ -21,14 +22,17 @@ TODO: This screencast walks you through setting up a complete DDEV development environment on Linux, starting completely from scratch. Whether you're new to DDEV or local development environments in general, this step-by-step guide will get you up and running quickly. - Here's what happens in this screencast. You can do it yourself in moments. We're using [DDEV's get-started](/get-started), but of course there is far more detail in the [DDEV docs](https://docs.ddev.com), explaining how to use other distros or other install techniques. 1. Install Docker CE. Use the `apt` repository technique from [Docker's docs](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository). - * Do the post-install one-time action: `sudo usermod -aG docker $USER`. - * We could log out and log back in, but instead for now `newgrp docker`. + +- Do the post-install one-time action: `sudo usermod -aG docker $USER`. +- We could log out and log back in, but instead for now `newgrp docker`. + 2. Install DDEV, using the `apt` repository technique from [get-started](/get-started). - * `ddev --version` shows us being working fine with current stable. + +- `ddev --version` shows us being working fine with current stable. + 3. One-time `mkcert -install` helps your browser trust DDEV's HTTPS certificates. 4. Check out a project. I used [rfay/d11](https://github.com/rfay/d11), a trivial demo Drupal 11 project. (DDEV's [quickstarts show many different project types](https://docs.ddev.com/en/stable/users/quickstart/) with quick startup.) 5. `ddev config` the project. Most of the time you can take the defaults. But most of use use a non-interactive command like `ddev config --project-type=drupal11 --docroot=web`. @@ -37,33 +41,29 @@ Here's what happens in this screencast. You can do it yourself in moments. We're 8. `ddev launch` and install with the web UI. On another project I might have used `ddev import-db` to load a database dump instead of doing an install. 9. `sudo snap install --classic phpstorm` (or install it any other way you want to). 10. Open the project and set a breakpoint in `web/index.php`. -11. Click the "Listen for PHP Debug Connection" button in PHPStorm. +11. Click the "Listen for PHP Debug Connection" button in PhpStorm. 12. `ddev xdebug on` 13. Visit the site in the browser. PhpStorm wakes up and asks us to map the code from the host/workstation side to the mount point in the container. The default usually works. 14. Debug, step over, step in, view variables, etc. - ## Key Things to Know **Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment instead of fighting about which OS is best. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). -**Support for almost any PHP-based project and many NodeJS environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. +**Support for almost any PHP-based project and many Node.js environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. **More Extensive Docs**: - * [DDEV Docs](https://docs.ddev.com) - * [DDEV Quickstarts](https://docs.ddev.com/en/stable/users/quickstart/) - * [DDEV Installation](https://docs.ddev.com/en/stable/users/install/) - * [DDEV Configuration](https://docs.ddev.com/en/stable/users/configuration/) - * [DDEV Debugging](https://docs.ddev.com/en/stable/users/debugging/) - * [DDEV FAQ](https://docs.ddev.com/en/stable/users/faq/) - * [DDEV Community](https://ddev.community/) +- [DDEV Docs](https://docs.ddev.com) +- [DDEV Quickstarts](https://docs.ddev.com/en/stable/users/quickstart/) +- [DDEV Installation](https://docs.ddev.com/en/stable/users/install/) +- [DDEV Configuration](https://docs.ddev.com/en/stable/users/configuration/) +- [DDEV Debugging](https://docs.ddev.com/en/stable/users/debugging/) +- [DDEV FAQ](https://docs.ddev.com/en/stable/users/faq/) **Support the DDEV Project:** DDEV is fully open-source and free to use, and run by the nonprofit DDEV Foundation. We ask you to help make us a sustainable project by sponsoring yourself or getting your organization to sponsor the project. [Sponsor us on GitHub](https://github.com/sponsors/ddev). Questions? Issues? We're here to help: - πŸ’¬ [Contact our team](/contact) -- πŸ“– [Simple installation docs](/get-started) -- πŸ“– [Full installation docs](https://docs.ddev.com/en/stable/users/install/ddev-installation/#ddev-installation-windows) _Have you signed up for the monthly [DDEV Newsletter](/newsletter)? We'd love to have you._ From 50de5b48633a7b2ddf790bb5df221ac07a381378 Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Fri, 3 Oct 2025 12:06:01 -0600 Subject: [PATCH 03/13] Add crosslinks --- .../blog/ddev-on-linux-in-10-minutes.md | 23 +++++++++++++++---- ...atch-ddev-local-from-scratch-with-macos.md | 5 +++- ...ev-local-from-scratch-with-windows-wsl2.md | 4 +++- .../blog/watch-new-windows-installer.md | 4 +++- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index dfddd938..89dc0738 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -12,16 +12,31 @@ categories: - Videos --- -TODO: - -- Add outline here, add outline to the video -
This screencast walks you through setting up a complete DDEV development environment on Linux, starting completely from scratch. Whether you're new to DDEV or local development environments in general, this step-by-step guide will get you up and running quickly. +## Video Outline + +**Here's the video table of contents (opens on YouTube):** + +- Introduction ([0:00](https://youtu.be/14JvCVbn1qs?t=0)) +- Install Docker CE ([0:30](https://youtu.be/14JvCVbn1qs?t=30)) +- Docker Post-Installation ([1:47](https://youtu.be/14JvCVbn1qs?t=107)) +- Install DDEV ([2:34](https://youtu.be/14JvCVbn1qs?t=154)) +- Configure HTTPS Certificates ([3:20](https://youtu.be/14JvCVbn1qs?t=200)) +- Create Project ([3:45](https://youtu.be/14JvCVbn1qs?t=225)) +- Project Startup ([5:00](https://youtu.be/14JvCVbn1qs?t=300)) +- Launch Project ([6:52](https://youtu.be/14JvCVbn1qs?t=412)) +- Install PhpStorm ([8:10](https://youtu.be/14JvCVbn1qs?t=490)) +- Configure Xdebug ([10:56](https://youtu.be/14JvCVbn1qs?t=656)) +- Test Step Debugging ([12:14](https://youtu.be/14JvCVbn1qs?t=734)) +- Recap ([13:19](https://youtu.be/14JvCVbn1qs?t=799)) + +## What Happens in This Screencast + Here's what happens in this screencast. You can do it yourself in moments. We're using [DDEV's get-started](/get-started), but of course there is far more detail in the [DDEV docs](https://docs.ddev.com), explaining how to use other distros or other install techniques. 1. Install Docker CE. Use the `apt` repository technique from [Docker's docs](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository). diff --git a/src/content/blog/watch-ddev-local-from-scratch-with-macos.md b/src/content/blog/watch-ddev-local-from-scratch-with-macos.md index 005fc621..bb548796 100644 --- a/src/content/blog/watch-ddev-local-from-scratch-with-macos.md +++ b/src/content/blog/watch-ddev-local-from-scratch-with-macos.md @@ -1,17 +1,20 @@ --- title: "Watch: DDEV From Scratch with macOS" pubDate: 2020-08-13 +modifiedDate: 2025-10-06 summary: Screencast guide to running DDEV on macOS. author: Randy Fay featureImage: src: /img/blog/2020/08/screen-shot-2020-08-04-at-5.33.27-pm.png - alt: Screen grab of video’s title frame + alt: Screen grab of video's title frame hide: true categories: - Guides - Videos --- +> **Using Windows or Linux?** See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md), [DDEV on WSL2 from Scratch](watch-ddev-local-from-scratch-with-windows-wsl2.md), or [DDEV on Linux in 10 Minutes](ddev-on-linux-in-10-minutes.md). +
diff --git a/src/content/blog/watch-ddev-local-from-scratch-with-windows-wsl2.md b/src/content/blog/watch-ddev-local-from-scratch-with-windows-wsl2.md index 5d089707..9a11e822 100644 --- a/src/content/blog/watch-ddev-local-from-scratch-with-windows-wsl2.md +++ b/src/content/blog/watch-ddev-local-from-scratch-with-windows-wsl2.md @@ -11,11 +11,13 @@ featureImage: categories: - Guides - Videos -modifiedDate: 2025-07-25 +modifiedDate: 2025-10-06 modifiedComment: "This guide was originally published in 2020, but has been completely rewritten with a new video in 2025. It now covers the new DDEV Windows installer and WSL2 setup." --- > **Want just the 10-minute version of a DDEV WSL2 Install?** Check out the [New GUI Installer: Get DDEV Running on Windows in Just 10 Minutes](watch-new-windows-installer.md) for a quicker setup using the GUI installer. +> +> **Using Linux or macOS?** See [DDEV on Linux in 10 Minutes](ddev-on-linux-in-10-minutes.md) or [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md).
diff --git a/src/content/blog/watch-new-windows-installer.md b/src/content/blog/watch-new-windows-installer.md index 58af05ae..1e32f5fc 100644 --- a/src/content/blog/watch-new-windows-installer.md +++ b/src/content/blog/watch-new-windows-installer.md @@ -1,7 +1,7 @@ --- title: "New GUI Installer: Get DDEV Running on Windows in Just 10 Minutes (Video)" pubDate: 2025-07-21 -#modifiedDate: 2025-06-09 +modifiedDate: 2025-10-06 summary: Skip the complex PowerShell scripts! DDEV's new GUI installer gets you developing on Windows with WSL2 in just 10 minutes. Watch the step-by-step video. author: Randy Fay featureImage: @@ -13,6 +13,8 @@ categories: - Videos --- +> **Using macOS or Linux?** See [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md) or [DDEV on Linux in 10 Minutes](ddev-on-linux-in-10-minutes.md). + Tired of those complex PowerShell scripts we used to provide to get DDEV running on Windows? The new GUI installer changes everything. In [DDEV v1.24.7](https://github.com/ddev/ddev/releases/tag/v1.24.7) we've eliminated the complexity of Windows setup. What used to require a privileged PowerShell script and manual WSL2 configuration now takes just a few clicks. From 63346e91e1f7a386b16327bd30764fc83a8c94bd Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Fri, 3 Oct 2025 12:35:04 -0600 Subject: [PATCH 04/13] fix broken links. Provisional terrible banner --- public/img/blog/2025/10/ddev-linux-install.png | Bin 0 -> 37717 bytes src/content/blog/ddev-on-linux-in-10-minutes.md | 10 +++++----- 2 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 public/img/blog/2025/10/ddev-linux-install.png diff --git a/public/img/blog/2025/10/ddev-linux-install.png b/public/img/blog/2025/10/ddev-linux-install.png new file mode 100644 index 0000000000000000000000000000000000000000..e3f5ab337d947b61e367cb7b0f04fea9e3b35f01 GIT binary patch literal 37717 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 Date: Fri, 3 Oct 2025 13:05:49 -0600 Subject: [PATCH 05/13] one step at a time with banner --- public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg | 1 + src/content/blog/ddev-on-linux-in-10-minutes.md | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg diff --git a/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg new file mode 100644 index 00000000..06ab2f16 --- /dev/null +++ b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index d8426aeb..b0913332 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -5,8 +5,8 @@ pubDate: 2025-10-06 summary: DDEV works great on Linux, we'll set it up from scratch in just 10 minutes.. author: Randy Fay featureImage: - src: /img/blog/2025/10/ddev-linux-install.png - alt: Ubuntu and DDEV logos on purple background representing DDEV Linux installation + src: /img/blog/2025/10/banner-ddev-10-minutes-linux.svg + alt: DDEV and Linux go great together categories: - DevOps - Videos From 278fa9ca3ea3499bac7d8f4e66114d61c9ffc816 Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Sat, 4 Oct 2025 08:48:52 -0600 Subject: [PATCH 06/13] Better banner and mentions of VS Code etc --- public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg | 2 +- src/content/blog/ddev-on-linux-in-10-minutes.md | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg index 06ab2f16..826f048c 100644 --- a/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg +++ b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg @@ -1 +1 @@ - \ No newline at end of file +AAAvWGp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAAC8yanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46dXVpZDplNzQ3MDZhOS0zOThkLTRjZTgtOWQ4Ny02Zjg1MjgwM2YwYjMAAAABsWp1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAANNqdW1iAAAAJmp1bWRjYm9yABEAEIAAAKoAOJtxA2MycGEuYWN0aW9ucwAAAAClY2JvcqFnYWN0aW9uc4GjZmFjdGlvbmxjMnBhLmNyZWF0ZWRtc29mdHdhcmVBZ2VudGhDYW52YSBBSXFkaWdpdGFsU291cmNlVHlwZXhTaHR0cDovL2N2LmlwdGMub3JnL25ld3Njb2Rlcy9kaWdpdGFsc291cmNldHlwZS9jb21wb3NpdGVXaXRoVHJhaW5lZEFsZ29yaXRobWljTWVkaWEAAACtanVtYgAAAChqdW1kY2JvcgARABCAAACqADibcQNjMnBhLmhhc2guZGF0YQAAAAB9Y2JvcqVqZXhjbHVzaW9uc4GiZXN0YXJ0GQEQZmxlbmd0aBk/IGRuYW1lbmp1bWJmIG1hbmlmZXN0Y2FsZ2ZzaGEyNTZkaGFzaFgg3g09DvvzrGxs+FYeaYpgiSbdrcZ78gy5XOWq22nCWKFjcGFkSQAAAAAAAAAAAAAAAedqdW1iAAAAJGp1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0AAAABu2Nib3Kob2NsYWltX2dlbmVyYXRvcm8gYzJwYS1ycy8wLjQ2LjB0Y2xhaW1fZ2VuZXJhdG9yX2luZm+AaXNpZ25hdHVyZXhNc2VsZiNqdW1iZj0vYzJwYS91cm46dXVpZDplNzQ3MDZhOS0zOThkLTRjZTgtOWQ4Ny02Zjg1MjgwM2YwYjMvYzJwYS5zaWduYXR1cmVqYXNzZXJ0aW9uc4KiY3VybHgnc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5hY3Rpb25zZGhhc2hYIOqcrYOdhOs1rbU2S97U9/uaWHB+eQlMM6Kfbz0afJwJomN1cmx4KXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaGFzaC5kYXRhZGhhc2hYIP8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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9lkCAKaGmGRJeZgzcUHiVkyI78Ol6k5yCN9SJ2EPJjMntdaSoLTBYV2mwsr0zrj2vwNModm/I2lU+xjPGlE/oLBgf67j+jaPeQmzNwfb90FR/0pxVQTZDYc7JMsrzY2zVLWwXtIM7haDB7mVuoaoO/w6oy6xFHSS3ehdJlMpwMK5GwItjejZj0EATGuoUFd7ftEknIShuMn5tw+l4AkrbGsJVyzcYszefQQiyE5JEIHvxn789wtyWEzezLR+3vSfACrjV+COaOJU3eajzPoAIfleYOiUKVrSyIRhHwPtMKKuYNQuEgC+tLDV6IPWEWLkjkrXAdGwIhsIQHKm8yWdCbu45HAtgrz6oxxKl4zslHiZKkiXPG3Eo52a4wVxXhPTOYtt2NZYaPurI/TnAlF3fTmniR4mHGY26A1S0EiOGU3x2FlAFlrOBonIlIRFyZaHtLpnKOFFs8iVPI7bFXlPtyxJZZ7MvZaAxwMlmJ2NF0wsHDE5cnDZbDaOcwYUrFPT7SrmhdLfMDGOVW4YgY3jHFebpVVSFMYyfu6HC+nKELtc+2tehrxdhsu7UZlSPNfQgvRRVCR424S0FIQKSPllKwMxUGJ6JtyCXx6ey0vTgb1q2F3Q5qQIccAjCeI5Ai207nr+QeHZFqN5uqHdyqturavHn7XKCBRW2P22Tv+mz+uuGUZBYes \ No newline at end of file diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index b0913332..3e8fc9a5 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -16,7 +16,7 @@ categories:
-This screencast walks you through setting up a complete DDEV development environment on Linux, starting completely from scratch. Whether you're new to DDEV or local development environments in general, this step-by-step guide will get you up and running quickly. +*This screencast walks you through setting up a complete DDEV development environment on Linux, starting completely from scratch. Whether you're new to DDEV or local development environments in general, this step-by-step guide will get you up and running quickly.* ## Video Outline @@ -37,7 +37,7 @@ This screencast walks you through setting up a complete DDEV development environ ## What Happens in This Screencast -Here's what happens in this screencast. You can do it yourself in moments. We're using [DDEV's get-started](/get-started), but of course there is far more detail in the [DDEV docs](https://docs.ddev.com), explaining how to use other distros or other install techniques. +Here's what happens in this screencast. You can do it yourself in just a few minutes. We're using [DDEV's get-started](/get-started), but of course there is far more detail in the [DDEV docs](https://docs.ddev.com), explaining how to use other distros or other install techniques. 1. Install Docker CE. Use the `apt` repository technique from [Docker's docs](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository). @@ -63,7 +63,8 @@ Here's what happens in this screencast. You can do it yourself in moments. We're ## Key Things to Know -**Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment instead of fighting about which OS is best. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). +**Use your own IDE, including VS Code:** I used PhpStorm here, but [VS Code works great](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/#ide-setup). +**Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment instead of arguing about which OS is best. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). **Support for almost any PHP-based project and many Node.js environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. **More Extensive Docs**: @@ -82,4 +83,4 @@ Questions? Issues? We're here to help: _Have you signed up for the monthly [DDEV Newsletter](/newsletter)? We'd love to have you._ -Claude Code was used in editing this blog and in preparing video outline, etc. +Claude Code was used in editing this blog and in preparing video outline, etc. Canva AI helped with the banner image. From f1e225a27feaf8a782f1793cded86a3cb502ae3b Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Sat, 4 Oct 2025 08:56:11 -0600 Subject: [PATCH 07/13] Minor review and prettier/textlint --- .../blog/ddev-on-linux-in-10-minutes.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index 3e8fc9a5..bc4be04a 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -1,5 +1,5 @@ --- -title: "DDEV on Linux in 10 Minutes (Video)" +title: "DDEV on Linux in 10 Minutes" pubDate: 2025-10-06 #modifiedDate: 2025-06-09 summary: DDEV works great on Linux, we'll set it up from scratch in just 10 minutes.. @@ -16,7 +16,7 @@ categories:
-*This screencast walks you through setting up a complete DDEV development environment on Linux, starting completely from scratch. Whether you're new to DDEV or local development environments in general, this step-by-step guide will get you up and running quickly.* +_This screencast walks you through setting up a complete DDEV development environment on Linux, starting completely from scratch. Whether you're new to DDEV or local development environments in general, this step-by-step guide will get you up and running quickly._ ## Video Outline @@ -41,8 +41,14 @@ Here's what happens in this screencast. You can do it yourself in just a few min 1. Install Docker CE. Use the `apt` repository technique from [Docker's docs](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository). -- Do the post-install one-time action: `sudo usermod -aG docker $USER`. -- We could log out and log back in, but instead for now `newgrp docker`. +- Do the post-install one-time action: + ```bash + sudo usermod -aG docker $USER` + ``` +- We could log out and log back in, but instead for now: + ```bash + newgrp docker + ``` 2. Install DDEV, using the `apt` repository technique from [get-started](/get-started). @@ -54,7 +60,7 @@ Here's what happens in this screencast. You can do it yourself in just a few min 6. `ddev start` the project. The first time on a new system you get the downloading of the Docker images. 7. `ddev composer install` for most projects 8. `ddev launch` and install with the web UI. On another project I might have used `ddev import-db` to load a database dump instead of doing an install. -9. `sudo snap install --classic phpstorm` (or install it any other way you want to). +9. `sudo snap install --classic phpstorm` 10. Open the project and set a breakpoint in `web/index.php`. 11. Click the "Listen for PHP Debug Connection" button in PhpStorm. 12. `ddev xdebug on` @@ -64,7 +70,7 @@ Here's what happens in this screencast. You can do it yourself in just a few min ## Key Things to Know **Use your own IDE, including VS Code:** I used PhpStorm here, but [VS Code works great](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/#ide-setup). -**Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment instead of arguing about which OS is best. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). +**Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment without friction. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). **Support for almost any PHP-based project and many Node.js environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. **More Extensive Docs**: From 3425cc94e46ea6d8da0afc1046f3abec3a95f37f Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Sat, 4 Oct 2025 09:00:21 -0600 Subject: [PATCH 08/13] mention other distros --- src/content/blog/ddev-on-linux-in-10-minutes.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index bc4be04a..b2a68296 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -70,6 +70,7 @@ Here's what happens in this screencast. You can do it yourself in just a few min ## Key Things to Know **Use your own IDE, including VS Code:** I used PhpStorm here, but [VS Code works great](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/#ide-setup). +**This demo used Ubuntu, but people use lots of distros:** The differences for major platforms are shown in the docs, but the ideas are all the same, and people use all of them, including other Debian/Ubuntu, Fedora, and Arch Linux distros. **Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment without friction. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). **Support for almost any PHP-based project and many Node.js environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. **More Extensive Docs**: @@ -85,7 +86,8 @@ Here's what happens in this screencast. You can do it yourself in just a few min Questions? Issues? We're here to help: -- πŸ’¬ [Contact our team](/contact) +- Discord is great for real-time help: [Join our Discord](https://ddev.com/s/discord) +- πŸ’¬ [Contact us](/contact) _Have you signed up for the monthly [DDEV Newsletter](/newsletter)? We'd love to have you._ From c545a74d88716fa624dfb30552d19e281e7d2c0d Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Sat, 4 Oct 2025 09:03:40 -0600 Subject: [PATCH 09/13] Add missing bullets --- .../blog/ddev-on-linux-in-10-minutes.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index b2a68296..f35aa4d4 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -69,20 +69,20 @@ Here's what happens in this screencast. You can do it yourself in just a few min ## Key Things to Know -**Use your own IDE, including VS Code:** I used PhpStorm here, but [VS Code works great](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/#ide-setup). -**This demo used Ubuntu, but people use lots of distros:** The differences for major platforms are shown in the docs, but the ideas are all the same, and people use all of them, including other Debian/Ubuntu, Fedora, and Arch Linux distros. -**Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment without friction. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). -**Support for almost any PHP-based project and many Node.js environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. -**More Extensive Docs**: - -- [DDEV Docs](https://docs.ddev.com) -- [DDEV Quickstarts](https://docs.ddev.com/en/stable/users/quickstart/) -- [DDEV Installation](https://docs.ddev.com/en/stable/users/install/) -- [DDEV Configuration](https://docs.ddev.com/en/stable/users/configuration/config/) -- [Step-Debugging](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/) -- [DDEV FAQ](https://docs.ddev.com/en/stable/users/faq/) - -**Support the DDEV Project:** DDEV is fully open-source and free to use, and run by the nonprofit DDEV Foundation. We ask you to help make us a sustainable project by sponsoring yourself or getting your organization to sponsor the project. [Sponsor us on GitHub](https://github.com/sponsors/ddev). +- **Use your own IDE, including VS Code:** I used PhpStorm here, but [VS Code works great](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/#ide-setup). +- **This demo used Ubuntu, but people use lots of distros:** The differences for major platforms are shown in the docs, but the ideas are all the same, and people use all of them, including other Debian/Ubuntu, Fedora, and Arch Linux distros. +- **Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment without friction. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). +- **Support for almost any PHP-based project and many Node.js environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. +- **More Extensive Docs**: + + - [DDEV Docs](https://docs.ddev.com) + - [DDEV Quickstarts](https://docs.ddev.com/en/stable/users/quickstart/) + - [DDEV Installation](https://docs.ddev.com/en/stable/users/install/) + - [DDEV Configuration](https://docs.ddev.com/en/stable/users/configuration/config/) + - [Step-Debugging](https://docs.ddev.com/en/stable/users/debugging-profiling/step-debugging/) + - [DDEV FAQ](https://docs.ddev.com/en/stable/users/faq/) + +- **Support the DDEV Project:** DDEV is fully open-source and free to use, and run by the nonprofit DDEV Foundation. We ask you to help make us a sustainable project by sponsoring yourself or getting your organization to sponsor the project. [Sponsor us on GitHub](https://github.com/sponsors/ddev). Questions? Issues? We're here to help: From bbfb1e5cb7a8efadab620ef7142f9eb1ed3a80de Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Sat, 4 Oct 2025 09:19:42 -0600 Subject: [PATCH 10/13] prettier --- src/content/blog/ddev-on-linux-in-10-minutes.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index f35aa4d4..a159cae4 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -74,7 +74,6 @@ Here's what happens in this screencast. You can do it yourself in just a few min - **Cross-Platform Compatibility:** DDEV works the same on macOS, Linux, Traditional Windows, and WSL2, see [Getting Started](/get-started). Your whole team can work on their preferred environment without friction. See [DDEV on Windows in 10 Minutes](watch-new-windows-installer.md) and [DDEV on macOS from Scratch](watch-ddev-local-from-scratch-with-macos.md). - **Support for almost any PHP-based project and many Node.js environments** DDEV supports development of [so many different web environments](https://docs.ddev.com/en/stable/users/quickstart/), so you're not stuck with using separate tools for different CMSs. - **More Extensive Docs**: - - [DDEV Docs](https://docs.ddev.com) - [DDEV Quickstarts](https://docs.ddev.com/en/stable/users/quickstart/) - [DDEV Installation](https://docs.ddev.com/en/stable/users/install/) From 1d3244fe623f69e1a6b2d8815c47404b8a62ddd9 Mon Sep 17 00:00:00 2001 From: Randy Fay Date: Sat, 4 Oct 2025 09:28:12 -0600 Subject: [PATCH 11/13] Better discord link --- src/content/blog/ddev-on-linux-in-10-minutes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/ddev-on-linux-in-10-minutes.md b/src/content/blog/ddev-on-linux-in-10-minutes.md index a159cae4..509448b5 100644 --- a/src/content/blog/ddev-on-linux-in-10-minutes.md +++ b/src/content/blog/ddev-on-linux-in-10-minutes.md @@ -85,7 +85,7 @@ Here's what happens in this screencast. You can do it yourself in just a few min Questions? Issues? We're here to help: -- Discord is great for real-time help: [Join our Discord](https://ddev.com/s/discord) +- Discord is great for real-time help: [Join our Discord](/s/discord) - πŸ’¬ [Contact us](/contact) _Have you signed up for the monthly [DDEV Newsletter](/newsletter)? We'd love to have you._ From cd1b9f32df8beb7010550781f41256fc2c3ddde5 Mon Sep 17 00:00:00 2001 From: Stanislav Zhuk Date: Sat, 4 Oct 2025 21:37:43 +0300 Subject: [PATCH 12/13] change the banner --- .../2025/10/banner-ddev-10-minutes-linux.svg | 38 +++++++++++++++++- .../img/blog/2025/10/ddev-linux-install.png | Bin 37717 -> 0 bytes .../blog/ddev-on-linux-in-10-minutes.md | 2 +- 3 files changed, 38 insertions(+), 2 deletions(-) delete mode 100644 public/img/blog/2025/10/ddev-linux-install.png diff --git a/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg index 826f048c..99a9ff76 100644 --- a/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg +++ b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg @@ -1 +1,37 @@ -AAAvWGp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAAC8yanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46dXVpZDplNzQ3MDZhOS0zOThkLTRjZTgtOWQ4Ny02Zjg1MjgwM2YwYjMAAAABsWp1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAANNqdW1iAAAAJmp1bWRjYm9yABEAEIAAAKoAOJtxA2MycGEuYWN0aW9ucwAAAAClY2JvcqFnYWN0aW9uc4GjZmFjdGlvbmxjMnBhLmNyZWF0ZWRtc29mdHdhcmVBZ2VudGhDYW52YSBBSXFkaWdpdGFsU291cmNlVHlwZXhTaHR0cDovL2N2LmlwdGMub3JnL25ld3Njb2Rlcy9kaWdpdGFsc291cmNldHlwZS9jb21wb3NpdGVXaXRoVHJhaW5lZEFsZ29yaXRobWljTWVkaWEAAACtanVtYgAAAChqdW1kY2JvcgARABCAAACqADibcQNjMnBhLmhhc2guZGF0YQAAAAB9Y2JvcqVqZXhjbHVzaW9uc4GiZXN0YXJ0GQEQZmxlbmd0aBk/IGRuYW1lbmp1bWJmIG1hbmlmZXN0Y2FsZ2ZzaGEyNTZkaGFzaFgg3g09DvvzrGxs+FYeaYpgiSbdrcZ78gy5XOWq22nCWKFjcGFkSQAAAAAAAAAAAAAAAedqdW1iAAAAJGp1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0AAAABu2Nib3Kob2NsYWltX2dlbmVyYXRvcm8gYzJwYS1ycy8wLjQ2LjB0Y2xhaW1fZ2VuZXJhdG9yX2luZm+AaXNpZ25hdHVyZXhNc2VsZiNqdW1iZj0vYzJwYS91cm46dXVpZDplNzQ3MDZhOS0zOThkLTRjZTgtOWQ4Ny02Zjg1MjgwM2YwYjMvYzJwYS5zaWduYXR1cmVqYXNzZXJ0aW9uc4KiY3VybHgnc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5hY3Rpb25zZGhhc2hYIOqcrYOdhOs1rbU2S97U9/uaWHB+eQlMM6Kfbz0afJwJomN1cmx4KXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaGFzaC5kYXRhZGhhc2hYIP8m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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9lkCAKaGmGRJeZgzcUHiVkyI78Ol6k5yCN9SJ2EPJjMntdaSoLTBYV2mwsr0zrj2vwNModm/I2lU+xjPGlE/oLBgf67j+jaPeQmzNwfb90FR/0pxVQTZDYc7JMsrzY2zVLWwXtIM7haDB7mVuoaoO/w6oy6xFHSS3ehdJlMpwMK5GwItjejZj0EATGuoUFd7ftEknIShuMn5tw+l4AkrbGsJVyzcYszefQQiyE5JEIHvxn789wtyWEzezLR+3vSfACrjV+COaOJU3eajzPoAIfleYOiUKVrSyIRhHwPtMKKuYNQuEgC+tLDV6IPWEWLkjkrXAdGwIhsIQHKm8yWdCbu45HAtgrz6oxxKl4zslHiZKkiXPG3Eo52a4wVxXhPTOYtt2NZYaPurI/TnAlF3fTmniR4mHGY26A1S0EiOGU3x2FlAFlrOBonIlIRFyZaHtLpnKOFFs8iVPI7bFXlPtyxJZZ7MvZaAxwMlmJ2NF0wsHDE5cnDZbDaOcwYUrFPT7SrmhdLfMDGOVW4YgY3jHFebpVVSFMYyfu6HC+nKELtc+2tehrxdhsu7UZlSPNfQgvRRVCR424S0FIQKSPllKwMxUGJ6JtyCXx6ey0vTgb1q2F3Q5qQIccAjCeI5Ai207nr+QeHZFqN5uqHdyqturavHn7XKCBRW2P22Tv+mz+uuGUZBYes \ No newline at end of file + + + + + + DDEV in 10 minutes on Linux + diff --git a/public/img/blog/2025/10/ddev-linux-install.png b/public/img/blog/2025/10/ddev-linux-install.png deleted file mode 100644 index e3f5ab337d947b61e367cb7b0f04fea9e3b35f01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37717 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 Date: Sat, 4 Oct 2025 21:43:37 +0300 Subject: [PATCH 13/13] its "on linux in 10 minutes", not "in 10 minutes on Linux" --- public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg index 99a9ff76..da1a0f9c 100644 --- a/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg +++ b/public/img/blog/2025/10/banner-ddev-10-minutes-linux.svg @@ -33,5 +33,5 @@ - DDEV in 10 minutes on Linux + DDEV on Linux in 10 Minutes