For years, the conversation around local development has been dominated by Docker. While containerization is a powerhouse for deployment and microservices, it often feels like overkill for standard web development. The high RAM usage, battery drain, and the complexity of managing docker-compose.yml for a simple PHP or Node.js project can be a significant drag on productivity .
Recently, I started looking for a tool that offered the convenience of an all-in-one environment (like XAMPP or Laragon) but with modern stack support and native performance. That search led me to FlyEnv.
What is FlyEnv?
FlyEnv is a cross-platform (macOS, Windows, Linux) local environment manager . Unlike Docker, which relies on virtualization and containers, FlyEnv runs services—like Nginx, PHP, MySQL, and Redis—as native static binaries on your host machine . The result is a development environment that feels instant and lightweight.
Think of it as a modern, polyglot successor to tools like XAMPP or Laragon, but with the power to manage projects in Node.js, Python, Go, and Java, all from a clean, unified interface .
Why I Made the Switch
The "native" approach of FlyEnv solves the biggest pain points I had with my previous setup:
Blazing Fast Performance: Because there are no containers, there is zero virtualization overhead. Services start in milliseconds, and FlyEnv consumes up to 80% less RAM compared to a typical Docker setup . For a developer on a MacBook, this translates to a cooler machine and significantly better battery life .
-
True Polyglot Support: I often juggle projects in different languages. FlyEnv treats all languages as first-class citizens. It supports a huge range of tools out of the box, including :
- Languages: PHP, Node.js, Python, Go, Java, Ruby, Rust.
- Web Servers: Nginx, Apache, Caddy.
- Databases: MySQL, PostgreSQL, MongoDB, Redis.
- And more: Elasticsearch, RabbitMQ, MinIO, and even a built-in Mailpit for email testing.
Project-Level Isolation (The Killer Feature): This is where FlyEnv truly shines. It allows you to pin a specific runtime version (e.g., PHP 7.4, Node.js 16) to a specific project folder . When you
cdinto that project in your terminal, FlyEnv's shell integration automatically switches to the correct versions . No more manualnvm useor struggling with global PATH conflicts. It just works.
How to Get Started (In 5 Minutes)
Getting a site up and running is incredibly intuitive, which is perfect for someone like me who prefers a GUI over editing config files.
- Install FlyEnv: You can download the DMG from the official website or install it via Homebrew on macOS (
brew install flyenv) . - Start Your Core Services: Open FlyEnv and start your web server (I prefer Nginx) and PHP from their respective modules .
- Create a New Site:
- Go to the Host module and click "Add Site".
- Set your domain (e.g.,
myproject.test). - Point the root path to your project folder (e.g.,
/Users/you/projects/myproject). - Select the PHP version you need.
- Enable "Auto SSL" for one-click HTTPS .
- Access Your Site: Hit save, and your site is immediately live at
https://myproject.testwith a trusted SSL certificate .
The License Situation: Unlimited vs. 3 Sites
A very important detail for developers who manage many projects is the licensing model. FlyEnv is 100% open source, and its code is available on GitHub . However, to support the project, the free Community Edition is limited to 3 local websites/sites .
This might be a deal-breaker for some. But the developer, who maintains this as a solo passion project, offers a very fair way to unlock the Pro License for unlimited sites without paying :
- Donate: Contribute any amount of money .
- Contribute: Submit a pull request or help fix code .
- Promote: Write a post, make a video, or write an article about FlyEnv .
Considering the features and performance, contributing to the project is a small price to pay for a tool this powerful.
FlyEnv vs. Docker: Not a Replacement, but a Choice
FlyEnv isn't trying to kill Docker. They serve different purposes .
- Choose FlyEnv if you value speed, have limited hardware (8GB/16GB RAM), and primarily work on standard web applications .
-
Stick with Docker if you need strict production parity, are working with complex microservices, or your team relies on a shared
Dockerfilefor consistency .
For my daily workflow of building web apps with Laravel and WordPress, FlyEnv has been a revelation. It removes the friction from environment setup and lets me focus on actually writing code. If you're tired of your local environment grinding your workflow to a halt, it's definitely worth a try.
Top comments (0)