Search Topic

Provision and Deploy Laravel on amazee.io - Introducing Sail:onLagoon

Provision and Deploy Laravel on amazee.io - Introducing Sail:onLagoon

At amazee.io, we understand the needs of Laravel web application developers and their requirements for a robust, scalable, and easy-to-use Laravel hosting solution. We know that Laravel developers frequently use Sail as their application of choice because the framework supports them in quickly building professional web applications.


We aim to provide Laravel developers with the same experience when deploying their applications to an enterprise-grade Platform-as-a-Service (PaaS). We’ve invested in Sail:onLagoon and the Laravel ecosystem because we want to give Laravel developers the platform and tools they need to focus on building applications. At the same time, amazee.io provides the open source PaaS for hosting these applications. 


With the launch of Sail:onLagoon, we have made it easy for Laravel developers who already use Sail for local development to get their applications up and running on the amazee.io hosting platform.

Some Background on our Love for Laravel


We have built Sail:onLagoon on top of our team’s love for Laravel.

  • Given that the amazee.io hosting platform began primarily hosting PHP-centric projects, Laravel hosting was one of the first project types we explicitly addressed early on.
  • Practically every current and ex-PHP developer on our team has a story about the first time they experimented with or used Laravel and the accompanying experience of everything just working.
  • We’ve had design meetings in which we’ve looked at documentation and branding in the Laravel ecosystem and invested time and effort into ensuring Laravel developers feel at home in our Platform—the same way they feel at home in the Laravel ecosystem itself.
  • The speed at which you can move when writing Laravel has allowed us to build proof-of-concept implementations of several Lagoon subsystems.
  • We suggest that junior developers read the Illuminate collections code as an example of what a beautifully designed API looks like.
  • And, importantly, amazee.io has hosted and supported thousands of enterprise Laravel workloads for many years.

We have a lot of personal, professional, and commercial investment in Laravel despite not actually being a Laravel dev team.


Supporting and learning from the Lagoon Laravel enterprise hosting community


One of our aims for 2024 is to engage more closely with the various communities that use our platform. This focus has commercial and technical reasons.


Firstly, we want more developers to use our open source Platform-as-a-Service. If the adoption of amazee.io is successful, we—the Lagoon team at amazee.io—can keep building the tools developers need and the product we love.


Technically, and perhaps most importantly, engaging with technical communities allows us to understand the features that people need and the changes and additions that they find helpful. With that, we can know what to prioritize for our user community.

We learned that shopping for the Laravel community is hard. What can we craft for the community that already has everything?


Perhaps the most interesting—and challenging for amazee.io—about the Laravel ecosystem is how often they get things right.


Taylor Otwell is a design genius with a keen eye and knack for building things exactly how you think they should be. His ethos of building the right thing and ensuring it’s done perfectly has had a lasting impact on the Laravel community. The Laravel ecosystem has some of the best tooling for developers out there - It’s exceptionally comprehensive. If you think you might need an additional tool, it likely already exists. Tools like Envoyer, Forge, and Vapor are most pertinent to us working on Lagoon. These are genuinely great and significantly overlap with the amazee.io PaaS offering. 


However, enterprise Laravel hosting on Lagoon and the amazee.io PaaS target different markets, such as global enterprises, SaaS providers, and AI application hosting. Our fundamental challenge was approaching the Laraval community from “the outside,” as our team had to. We wanted to be able to host Laravel sites as seamlessly as developers can build them. Yet, in the Laravel ecosystem, we faced a comprehensive set of interlocking projects and tools that fit together like a jigsaw puzzle with no missing pieces. What to do?


We decided to meet the Laravel community where they are


Given how often Laravel just gets things right (which is one of our reasons for loving it), how should an “outsider” approach the Laravel ecosystem?


In the case of Sail:onLagoon, we decided that instead of asking Laravel developers to change anything about their natural local workflow, we would meet them where they are and, taking a page out of the Laravel book, make something that just works (that’s the goal, anyway - issues and PRs welcomed and encouraged).


Introducing Sail:onLagoon - the quickest way to host your Laravel Sail-based project on amazee.io!


For those who don’t know, Laravel Sail is a tool that uses Docker and Docker Compose to set up and interact with a container-based local development environment for Laravel in minutes.


This piqued our interest because, at its heart, Lagoon’s service configuration is built around service labels in a docker-compose.yml file. We wondered if we could ingest the information generated as part of the local Laravel Sail setup and use it to make Lagoon onboarding a cinch.


It turns out that we could, and the result is Sail:onLagoon.


If we read in the Sail configuration, match the Sail services with standard Lagoon configurations, and output the files needed to deploy your Laravel site on Lagoon, there is little to no futzing around with adding labels and Dockerfiles.


With just one command, you can deploy your Sail project to amazee.io.


As a result, you can now set up a Lagoonized Laravel site from scratch with a handful of commands: no downloading Dockerfiles, no editing anything. Watch our 50-second video for step-by-step set-up instructions.

composer create-project laravel/laravel:^10.0 example-app
cd example-app
php artisan sail:install
composer require uselagoon/sailonlagoon
php artisan sail:onlagoon

Voila! You’re good to go!

Let’s set Sail:onLagoon together!

The Sail:onLagoon initiative stems from our genuine appreciation for Laravel. We are excited to smooth the experience for Laravel teams wanting to get their applications from local development using Sail to production-ready on amazee.io, ensuring that every Laravel developer using Lagoon and amazee.io feels right at home on our hosting platform.


To learn more about amazee.io and Sail:onLagoon, contact us today or book a meeting with our technical team for an in-depth conversation!


Writer