Drupal Planet
Drupal life hack's: Laravel for Drupal Developers: Comparing Eloquent and Entity API
CKEditor: DrupalCon AtlantaWrap-Up: Building Better with CKEditor
Balint Pekker: AI Code Review for Drupal
DDEV Blog: Exposing a Node.js App Over HTTP / HHTPS on a Subdomain in DDEV
Have you ever needed to run a separate Node.js application alongside your main site in DDEV, and serve it securely over ports 80 and 443 on a custom subdomain? While DDEV has built-in mechanisms for exposing additional ports, sometimes you need more control, especially if you want to expos it through a domain like frontend.example.ddev.site instead of a port-specific URL. This is where Traefik, bundled with DDEV, becomes incredibly powerful.
In this post, we’ll walk through how to configure DDEV and Traefik to proxy requests from a subdomain directly to your Node.js app on port 3000 within the DDEV web container.
Why Not Just Use web_extra_exposed_ports?DDEV's' web_extra_exposed_ports feature is great for making your service accessible via a specific port (e.g., (3000)). However, it doesn’t magically set up a subdomain for you to use on standard web ports (80/443). If you want frontend.example.ddev.site to map to your Node.js app over HTTPS, you need a reverse proxy rule. That’s where Traefik comes in.
Step 1: Update Your .ddev/config.yamlIn your project’s .ddev/config.yaml, define the project name and the additional hostname you want to use. For example:
name: example additional_hostnames: - frontend.example(Optional) You can still use web_extra_exposed_ports to expose the Node.js port if you want:
web_extra_exposed_ports: - name: node-app container_port: 3000 http_port: 3000 https_port: 3001However, for a subdomain over standard web ports, the critical part is the next step with Traefik.
Step 2: Create a Project-level Traefik Configuration FileIn your project's .ddev/traefik/config folder add a file named frontend.yaml. In frontend.yaml, you’ll define two routers—one for HTTP (port 80) and one for HTTPS (port 443)—and a service that points to the Node.js app on port 3000.
http: routers: # Router for HTTP (port 80) example-web-80-http-frontend: entrypoints: - http-80 rule: Host(`frontend.example.ddev.site`) service: "example-web-3000" ruleSyntax: v3 tls: false priority: 100 # Router for HTTPS (port 443) example-web-80-https-frontend: entrypoints: - http-443 rule: Host(`frontend.example.ddev.site`) service: "example-web-3000" ruleSyntax: v3 tls: true priority: 100 services: # The custom service that routes to your Node app example-web-3000: loadbalancer: servers: - url: http://ddev-example-web:3000Here’s what’s happening:
- Routers: Each router inspects incoming requests. If the hostname matches frontend.example.ddev.site, it passes the request to the example-web-3000 service.
- Service: Defines where to actually send the traffic. In this case, http://ddev-example-web:3000 is the internal address of the web container running on port 3000.
Run:
ddev restartDDEV will pick up your new Traefik configuration, and you should now be able to access your Node.js application at:
ddev launch https://frontend.example.ddev.siteNo more messing with non-standard port numbers in your URLs!
Wrapping UpBy leveraging Traefik's routing capabilities, you can expose any service running in the web container on standard HTTP/HTTPS ports and map it to a dedicated subdomain. This approach keeps your development environment clean, user-friendly, and closer to production-like URLs.
If you’ve followed these steps, your Node.js application will be served seamlessly over frontend.example.ddev.site.
Further Reading
Do You Have a Favorite DDEV Recipe? Contribute It!
We welcome community contributions to the DDEV blog and would love to have yours. The ddev.com repository has full details, and there's even a training session on how to do it. It's all just Markdown and we'll help!
The Drop Times: UI Suite Is Announcing a New Display Builder: Pierre Dureau
Zoocha: DrupalCon Atlanta: Drupal Community & Roadmap Highlights
The Drop Times: Dotsquares Introduces AI-Powered No-Code Drupal Platform at March 2025 Event
Droptica: Drupal for Marketers, Editors, and HR Teams - Why is it a Good Choice?
This is the third article in the "Why Drupal" series. In the first one, I presented the business and finance arguments for using this system, and in the next one, I focused on the developer and IT aspects of Drupal. This blog post highlights 13 key features that editors, marketing teams, and HR professionals will especially appreciate. I invite you to read the article or watch the “Nowoczesny Drupal” episode.
Ryan Szrama: The Moral Imperative to Compensate Free Software Authors
Doesn't exist.
I don't know if this was ever common knowledge, but it's certainly not a new idea. Free software, per the Free Software Foundation, is only free if people are free to redistribute it commercially without having to pay the author. In a sense, every time you build a Drupal site for someone else for a fee, you are charging to distribute free software to them that was authored by other people while providing additional services to tailor it to their needs.
If I had to guess, the more mainstream open source as a development methodology became, the more people adopted it without understanding or appreciating its philosophical origins. Open source as a growth strategy became inevitable while simultaneously kicking against the goads of the four essential freedoms of the movement that birthed it, even though these freedoms are what enabled multi-billion dollar ecosystems like Drupal's to grow.
Read moreSpecbee: How to know when your website needs a UI/UX upgrade
DDEV Blog: DDEV April 2025 Newsletter
Spring has Sprung in Palisade, Colorado!
DDEV v1.24.4 was released with the new XHGui profiling feature (funded by TYPO3 Community Ideas Budget!).
DDEV Notes and News
- XHGui Feature Makes Profiling Even Easier
- Thanks to our Amazing Sponsors
- DDEV at DrupalCon Atlanta
- Set up an existing WordPress multisite locally with DDEV (with Bonus Pantheon support!)
- Darren Oh: Zscaler, DDEV, and Colima. (We'd love to have you contribute your own experience with packet-inspection VPNs in this docs PR. Note that in DDEV v1.24.4 a significant problem with using internet proxies was resolved; full documentation will be included in that PR.
- The TYPO3 Q2 Community Budget Idea to implement mDNS (multicast DNS) in DDEV didn’t receive enough votes, so unfortunately it won’t be funded this quarter. The proposed mDNS feature offers an alternative to the standard ddev.site DNS resolution. It’s especially helpful for users who experience issues with DNS, and it could also eliminate the need for DDEV to modify the /etc/hosts file in those cases. We still hope to explore this in 2025!
We welcome your contributions to the blog! A number of community members have contributed blog articles demonstrating their use of DDEV to solve problems, and we welcome your contributions. It's easy, it's just Markdown, and full instructions are at the ddev.com repository.
Thanks for subscribing to the newsletter! We love to have this way to keep in touch. If you're not getting it yet by email, please sign up at ddev.com/newsletter.
Great News: Sponsorship Level is Increasing! According to our open sponsorship feed our total monthly average income went up from $7099 to $7639 since March 1, a $540 bump in one month. Wow, you're awesome, thank you! If your organization or you aren't on the bandwagon yet, join us to help make DDEV sustainable. GitHub Sponsors is great, but we also do support contracts, invoicing, PayPal — anything that works for you! Our goal is $12,000/month, so we're more than halfway there. Special thanks to new $100/month sponsors @fullfatthings, @liip, @andreas-anwesoft, @wearrudder!
THANKS to all of you who are supporting DDEV’s path to sustainability and who have gotten your organizations to do so.
Want to keep up as the month goes along? Follow on
Happy April from Randy Fay, DDEV Project Lead. It's a delight to collaborate with you!
Talking Drupal: Talking Drupal #496 - Getting Back to Drupal Basics
Today we are talking about Drupal Basics, Why we got away from them, and what we do to bring them back with guest Mike Anello. We’ll also cover Entity Reference Override as our module of the week.
For show notes visit: https://www.talkingDrupal.com/496
Topics- Where did this idea come from
- Why do you feel more basic content is necessary
- How did Drupal get away from the basics
- How can we get more basic talks into Drupal events
- How do we balance basic content with new topics like recipes or Drupal CMS
- How do we entice speakers to take these talks
- Could this adversely affect attendance
- Question from Stephen: How do we address virtual events and that they are preferred by a younger crowd
- Will Florida Drupal Camp have a track
Mike Anello - drupaleasy.com ultimike
HostsNic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Kathy Beck - kbeck303
MOTW CorrespondentMartin Anderson-Clutz - mandclu.com mandclu
- Brief description:
- Have you ever wanted to replace a text field on entities you reference in your Drupal site? There’s a module for that.
- Module name/project name:
- Brief history
- How old: created in Sep 2016 by Jeff Eaton, though recent releases are by Benjamin Melançon (mlncn) of Agaric
- Versions available: 2.0.0-beta3 which works with Drupal 10.1 or 11
- Maintainership
- Actively maintained
- Security coverage, yes but needs a stable release
- Test coverage
- Documentation - user guide
- Number of open issues: 13 open issues, 2 of which are bugs against the 2.0.x branch
- Usage stats:
- 2,004 sites
- Module features and usage
- The module defines a new field type, with associated widgets and formatters.
- Your site editors will see a normal entity reference field (autocomplete or select) with an additional text field. Text provided in that additional field can be used to override a specific field in the referenced entity’s display, or add a class to its rendered markup.
- This could be handy in use cases like showing people with project-specific roles, or showing related articles with the summary tweaked to be more relevant to the main content being viewed.
- It’s not a super-common need, but if you need this capability, it can save having to set up a more complicated content architecture with some kind of intermediary entity
- I thought this module would be interesting because today’s guest, Mike Anello, is listed as one of the maintainers. Mike, what can you tell us about your history with the module and how you’ve used it?
The Drop Times: Lift as We Build
Dear Readers,
The Drupal Burkina Faso Association is working hard to bring back DrupalCamp this April at Joseph KI-ZERBO University in Ouagadougou. But there's a hitch: they’re still short on the funding needed to make it happen. That means a potential pause, not for lack of passion or planning, but because access to resources still draws the line between who gets to gather, learn, and grow, and who doesn’t. And for a community that’s trying to build something from the ground up, that line is everything.
This isn’t just Burkina Faso’s problem. It’s a challenge for the entire Drupal ecosystem. If Drupal is going to stay relevant and expand beyond its current reach, it has to grow where the need is greatest and the potential is untapped. Africa’s tech scene is rising fast, and platforms like Drupal could be part of that momentum. But that depends on whether we show up for the developers and organizers making it possible. These aren’t side stories. They’re the future of Drupal, and they deserve real investment.
The code is solid. The talent is there. What’s missing is community at scale. Supporting efforts like DrupalCamp Burkina Faso isn’t charity. It’s strategy. It’s how we build a global, sustainable open-source movement that reflects the diversity of the world it serves. If you believe in the long-term vision of Drupal, now’s the time to act. Because when one community grows, we all move forward.
DISCOVER DRUPAL- Let’s Get Loud: Using LinkedIn to Amplify Drupal
- Drupal Considers Marketplace for Site Templates with Open Source and Commercial Options
- Drupal Deep Dive Project Connects Scuba Divers in the Drupal Community
- Media Library Translate Module Crosses 100-Site Usage on Drupal
- Metadrop's “Content First” Module Adds Text-Only View for Easier Content Review
- CivicTheme 1.10.0 Launches with Major Upgrades
- DrupalCamp Burkina Faso 2025 Seeks Sponsors to Support April Event in Ouagadougou
- Merlijn Sebrechts to Present Keynote on WebAssembly at Drupal Developer Days 2025
- James Abrahams to Keynote on AI in Drupal CMS at Developer Days 2025
- Registration for DrupalCon Vienna 2025 is Now Officially Open!
- COSCUP 2025 Set for August, Celebrating Open Source in Taiwan
- Drupal Events This Week: Webinars, Meetups, and Community Sessions
- Meet the 2025 Pantheon Partner Award Winners: A Closer Look at Their Impact
- DDEV Adds XHGui Support for Easier PHP Profiling
We acknowledge that there are more stories to share. However, due to selection constraints, we must pause further exploration for now.
To get timely updates, follow us on LinkedIn, Twitter and Facebook. You can also join us on Drupal Slack at #thedroptimes.
Thank you,
Sincerely
Alka Elizabeth
Sub-editor, The DropTimes.
Drupal Starshot blog: Announcing the Drupal CMS desktop application
Drupal CMS 1.0 launched in January with a fresh and simple installer, and user feedback was great! But even with these improvements, getting Drupal up and running is still harder than it should be. At DrupalCon Atlanta, Dries Buytaert shared a solution: a super simple desktop app. Instead of downloading and setting up Drupal manually, you can now install it with just a few clicks!
The Drupal CMS Launcher is already available for Mac (Windows is coming once we are able to sign the app). It has everything you need to run Drupal locally built-in—no extra software required! It comes with a web server and an SQLite database, so you can run Drupal right away. It also has Drush built-in, making it even easier to manage your site. Your Drupal files are stored in your Documents folder, so you can access them anytime.
This app is still new, and the team isn’t sure what’s next for it. But it’s already a big step toward making Drupal more accessible. Once you set it up, you can use Project Browser to add extensions to Drupal that are not yet installed.
To try it, download it now at new.drupal.org/drupal-cms/launcher. Check out the source code and contribute on GitHub at github.com/drupal/cms-launcher!
Jacob Rockowitz: My Drupal, AI, and Schema.org Manifesto
Preamble
Before I express my thoughts, I want to clarify that this blog post will be reviewed, revised, and improved with the help of Grammarly's AI. Although I've been cautious about relying on AI to enhance my writing, I recognize that my dyslexia and ongoing grammar challenges impact my writing ability. However, I'm skilled at organizing my ideas to convey a message. In the context of this post, I see AI as a helpful tool, similar to wearing glasses, that aids me in communicating and interacting with the Drupal community. Nothing in this post is generated by AI through prompts. My inspiration for sharing these thoughts came from attending DrupalCon Atlanta.
Background
Like many people, I am skeptical and hesitant about using AI in my day-to-day tasks, but this is about to change. Until recently, my daily use of AI was limited to using PHPStorm's AI assistant to suggest or look up some code occasionally. Frequently, I’d smirk at its hallucinations and never ask the AI assistant to correct itself.\
At DrupalCon Barcelona, I was impressed by the demo of Drupal CMS' AI capabilities, but I did not attend any AI sessions. A month after DrupalCon, I had breakfast in Brooklyn with Jamie, co-founder of FreelyGive and one of Drupal's AI evangelists. We discussed improving the sustainability of the AI module's ecosystem based on my experience with the Webform module's sustainability. At the same time, I sensed from his excitement that the possibilities with Drupal and AI were limitless.
At DrupalCon Atlanta, the only AI...Read More
Sergiu Nagailic (Nikro) Blog: Drupalcon Atlanta 2025
Hey there, this is my Drupalcon-experience review, all the views/opinions here are mine and don’t extend to the company or partners I work with.
This was my second Drupalcon in general, and first one in North America - I used to be cautious about attending Drupalcons because the pricing can be quite prohibitive for small businesses, freelancers, and independent devs… I do enjoy DrupalCamps though - my 1st being BADCamp (US), then followed by camps in Ukraine, Romania and the ones we organized in Moldova, I think I attended ~6 camps and co-organized 3 more.
This year, thanks to Dropsolid, I had the chance to visit the US-flavored Drupalcon. This time it was in Atlanta, Georgia - in the Hyatt Regency Hotel. The venue was pretty fancy, I’d say - classy. I liked it, although not sure it was ca...
Read the Full ArticleMatt Glaman: Drupal is delivering innovation beyond major versions
If you caught the State of Drupal presentation (aka Driesnote) from DrupalCon Atlanta, maybe you noticed something missing. There was no news about Drupal 11 or what lies ahead with Drupal 12. Instead, we talked about Drupal CMS, Experience Builder, and the upcoming concept of site templates.
drunomics: Lupus Decoupled Drupal: Drupals Backend-Stärke mit Frontend-Freiheit verbinden
ImageX: Typography at Its Finest: the ABC of Adding Fonts to Your Drupal Website
Typography isn’t just a visual asset — it’s a language of its own. Are you ready to allow beautiful fonts to tell their tale and give your website the typographic personality it deserves?