ahmadreza1383's avatar

ahmadreza1383 liked a comment+100 XP

5mos ago

I'm based in London, UK.. so granted, internet here is pretty stable (though I do understand your pain as it was only a few years ago that this property had access to something decent, before that, it was 3Mbps/0.8Mbps up/down.. which wasn't fun when your 2 young lads also wanted to stream separate youtube videos 😃).

I also think that building pre-configured stuff for yourself isn't a bad idea either, especially if it's something you use reguarly (I have multiple pre-configured docker images that I use for myself for pure convenience and then use a Makefile to run various commands inside/outside of the container(s)).

I guess context is key for this too.. it may well in some situations be far easier/more convenient/efficient to download a single docker image than a base image and then a bunch of dependencies.

Good luck with your project 👍🏻

ahmadreza1383's avatar

ahmadreza1383 wrote a reply+100 XP

5mos ago

While I commend you on looking into writing a package... it's ultimately a solution looking for a problem.

I don’t know which country you’re in, but maybe it’s not even a problem for you — and that’s totally fine, I respect that.

But for me, it is a problem, so I’d prefer to at least build it for myself :)

ahmadreza1383's avatar

ahmadreza1383 wrote a reply+100 XP

5mos ago

Thanks for your feedback! I’m really glad we’re on the same page — having both PHP and Sail installed together can definitely feel a bit messy and overwhelming. Your solution is actually very clean and simple, and honestly, I’m happy I asked for feedback. I realized that I can simplify some parts to make the usage process of EasySail smoother, and as I mentioned before, also add a CLI tool alongside it.

ahmadreza1383's avatar

ahmadreza1383 wrote a reply+100 XP

5mos ago

My goal with this project is mainly two things:

First, I think it’s a bit unfair that we have to build Sail the first time we use it. Maybe in developed countries with fast internet, this isn’t really a problem — the build might even finish in under a minute (which honestly makes me a bit jealous 😅). But where I live, because of slow internet, sanctions, packet loss, and other issues, building something like this can literally waste an entire day.

So, I’ve prepared multiple pre-built releases of different Sail versions to solve this problem. Each release is built automatically using GitHub Actions, and I haven’t modified the Dockerfiles at all — except for the mini versions, where I removed Node.js, pnpm, bun, and yarn to reduce the image size for users who don’t need them.

Second, since the images are already built, Sail is basically ready to go. Users just need to load the image and can create their Laravel project directly from it, without any building or installing anything extra on their host system

ahmadreza1383's avatar

ahmadreza1383 wrote a reply+100 XP

5mos ago

If someone’s using Sail then they wouldn’t be installing Composer and PHP

Actually, they install it

composer require laravel/sail --dev

https://laravel.com/docs/12.x/sail#installing-sail-into-existing-applications

From what I’ve seen in the Laravel documentation, to install Sail, you need to have Composer already installed on your system. I’m planning to create a CLI tool that removes this requirement entirely.

ahmadreza1383's avatar

ahmadreza1383 wrote a reply+100 XP

5mos ago

Cool! I’m tempted to go get the ChatGPT API now :)

ahmadreza1383's avatar

ahmadreza1383 started a new conversation+100 XP

5mos ago

Hey Laravel community! 👋

I’ve been working on a new package called EasySail: github.com/karbordia/easysail

The goal of this package is twofold:

  1. Provide a reliable source of pre-built Laravel Sail images so you don’t have to rebuild them every time.
  2. Eliminate extra dependencies like installing Composer or PHP on your host machine.

Eventually, I’m planning to add a CLI tool to make working with Sail even easier. Imagine something like:

  • Creating a new project:
apt install easysail
easysail new example-app --sail=8.4
  • Or working with an existing project:
easysail -p ./example-app --sail=8.4

I’d love to hear your thoughts, feedback, or any suggestions on this approach!

UPDATE:

Thanks for the feedback everyone.

I think there’s no need to build a CLI tool anymore.

But I’ll keep this repo to have the Sail images ready, so anyone who needs them can just download and use them anytime(Especially for Iran)