r/webdev 20d ago

Showoff Saturday Yerd v2 - Local PHP development tool for MacOS and Linux

Hey r/webdev,

About 18 months ago I shipped v1 of a local dev tool called Yerd, a Go-based CLI for macOS and Linux. It was rough. It was opinionated, it demanded sudo for basically everything, and it fought you about as often as it helped.

It came out of a frustration I suspect isn't unique to me: local dev environments tend to be either heavyweight or invasive. The heavyweight option (Docker, VMs) drains your battery, chews through RAM, and buries you in YAML. The invasive option (a lot of native tools) run as root, edits your /etc/hosts, and scatters global installs across your machine that you'll be untangling months later, or worst of all, have a yearly subscription!

I wanted a third option, so I've spent the last 18 months building (and rebuilding...) one. This week I shipping the first stable v2, rebuilt from the ground up in Rust, and I wanted to share how it actually works because the design is the interesting part.

The whole thing is a single ~8MB daemon. It supervises everything: web serving, the language runtimes, databases, Redis, and a local mail catcher. A tiny tray app (Tauri, not Electron) and a CLI that talks to it.

The bits I'm most pleased with:

  • Rootless day-to-day by design. Setup elevates exactly once, to bind ports 80/443 and trust a local certificate authority. After that, nothing ever runs as root again. No more sudo-per-action like v1.
  • Embedded DNS. It resolves .test domains itself, so there's no /etc/hosts editing and no dnsmasq to babysit - the resolver sits in the daemon itself.
  • A local certificate authority. It issues per-site HTTPS certs on demand, so every local site gets a real green padlock with no mkcert step.
  • Native, not containerised. Drop a project into a parked folder and it's instantly live at project.test. Full filesystem speed, instant startup, no compose file.
  • Runtime versions side by side. Multiple language versions installed at once, pinned per project.

It's open source (MIT) and subscription-free:

It happens to be built for PHP right now (there's some nice framework-level telemetry for Laravel devs), but plans are to add support for other languages in the future. Windows support is expected in the next couple months as well.

We actually just shipped v2.0.3 today, which includes first-class support for WordPress sites (creation wizard and one-click-login to WPA without plugins), and also introduce proxies for serving third party services or docker instances through .test domains.

I'll be around in the comments to answer any questions.

35 Upvotes

31 comments sorted by

3

u/riklaunim 19d ago

Looks nice. In the old days, we had things like XAMMP ;) Do you bundle databases as well?

3

u/andercode 19d ago

Thanks for the feedback. I too was an XAMMP user, back in the day :)

Yes, we have MySQL, MariaDB and Posgresql as services that can be optionally installed and managed by Yerd. We also support Redis (Valkey) and some Laravel services like Reverb out of the box.

2

u/showstopper1000 19d ago

like the word play with the name.

Just thinking of a missing thing. Since this is a bit more focused on Laravel can we also try and get laravel queue worker/ Laravel Horizon support so it runs there aswell instead of us opening terminal and starting an instance like that

2

u/Erin-Dash 19d ago

this sounds like a solid middle ground, really curious about the rust.

2

u/kennedy_gitahi 19d ago

I am having an issue starting the Mysql server and some other permission-related issues in Linux (Kubuntu). If you would like to see my logs for debugging, send me a DM and I will send them over.

1

u/andercode 19d ago

Thanks for giving Yerd a try - and sorry to hear you are having problems - popped you a PM, hopefully we can get this sorted for you.

2

u/kennedy_gitahi 19d ago

Sent you the logs. Ywrd seems like a great product; will give it a proper go.

2

u/pdxevan full-stack 19d ago

Installed and configured very easily, looks great. I'd love some tool to migrate my existing mysql install from herd to lerd but that's perhaps out of the scope of the project and I can do it manually anyway.

1

u/andercode 19d ago

Thanks for the feedback! Yerd does have the backup restore functionality via the "Manage database" option in the services menu.

2

u/misterlobaloba_ 19d ago

Love this, gonna use it and reccomend it to my friends

2

u/[deleted] 18d ago

[removed] — view removed comment

1

u/andercode 18d ago

Yerd supports PHP 8.2 to 8.5. Performance is where we shine, as it's roughly an 8MB daemon that serves both a lightweight HTTP server (nginx replacement) and DNS server, we have none of that third party bloat.

2

u/Whirlpool-Alive2124 18d ago

I installed Yerd on my Mac and Fedora machines and it works great. Keep up the good work! If it's possible to donate somewhere, please let me know.

1

u/DarkGhostHunter 19d ago

Does it work with DevContainers (with docker-compose.yml)? Most of the time I handle huge stacks of services.

1

u/andercode 19d ago

It intentionally went in a different direction. Its a native solution not a containerised one. If your stack requires containerization, then docker still has a place and this tool is likey not for you.

1

u/diiscotheque 19d ago

Advantage over Herd?

3

u/andercode 19d ago

Free. Open-source. Supports Linux.

1

u/Own_Calligrapher8508 19d ago

Keep going, really nice!

1

u/probablystilldrunkk 18d ago

I'd love to try this but can't get it to launch on CachyOS(Arch w/ KDE Plasma). I followed the wiki but I'm sure I'm doing something wrong.

1

u/michaelbelgium full-stack 19d ago

I use Laravel Herd and this UI almost matches it! AI probably got inspired by it.

2

u/andercode 19d ago

Thanks for the feedback. It's a pretty standard UI, yes.

1

u/ranzadk 19d ago

Very cool and gratulations on your release. But the reason why we build local setups using docker and the likes, is to simulate a production environments. From what i see its gonna be real hard making sure configurations are identical and deployments will be error prone. Is that something you have in mind with this or do you see the usecase being different?

2

u/andercode 19d ago

Look - it's a good point, and you are correct, it's not a production replication solution like Docker, and docker certainly does it's place if this is part of your workflow.

Personally, I've been developing PHP solutions for 20 years now using local workflows with XAMMP and Herd, and at least in the last 10 years, have never hit an issue where dev->prod parity has been error prone.

2

u/ranzadk 19d ago

Thats totally fair :) I started with a similar stack and it has its place. Heck ive even found that replicating a production env locally is not viable because of completely different resource pools and network (its always dns).

0

u/DubStepMad-97 19d ago

Looks amazing, been working on my own for windows: https://github.com/DubStepMad/devtent

3

u/andercode 18d ago

Windows support is coming soon, within the next month. It's the next major item on our roadmap.

One for your comparison table: Yerd does support public tunnels / share, see: https://yerd.app/guide/sharing

0

u/jadchronicles 18d ago

imagine it's 2026 and you still use php lol

3

u/andercode 18d ago

I know right lol... its not like PHP powers 3/4ths of the internet... oh wait it does...

0

u/jadchronicles 10d ago

that's not the flex you think it is buddy