Laravel Sail's DevContainer setup is great, except when it relies on VSC and some weird extensions to keep up with; let alone Docker not outsmarting everybody! Meanwhile, I might as well just do my TALL stack development locally...
With this setup, one doesn't have to worry about the things I've mentioned, in addition to gaining the following advantages too:
And, yes, these are valid reasons considering that Laravel itself created Herd AFTER I started this pro- kidding, but for the record, I was actually first- just to offer this sort of setup on MacOS of all things! And then they ported it to bloody Windows. And when they're asked about Linux, they raised a huge middle f-lag. (╬ Ò﹏Ó)
Packages
mkcert -install
to be ran manually once after the setup script)EXPOSE_TOKEN
is provided in [.env
] file. Use expose share https://[site-name].test
to work properly)Services
Applications
Extract the scripter somewhere and navigate into it:
cd ~/Downloads && unzip ./lara-stacker-x.x.x.zip -d ./ && cd lara-stacker-x.x.x
Create a [.env
] file from the [.env.example
] one and fill in its content; replacing the <placeholders>
.
cp .env.example .env && nano .env
Run the script with super-user permissions:
chmod +x ./lara-stacker.sh && sudo ./lara-stacker.sh
Choose to setup your Ubuntu environment first, which will install everything necessary for local Laravel development, and eventually create a [done-setup.flag
] file in the directory.
Then choose to either:
That's it. You'll have your first project accessible in the end (displaying the site's URL too). And just praise Allah instead of wasting the waiting time! :)
[!NOTE] If you want to debug the process or display all output during the scripts, change the
LOGGING_LEVEL
variable in your [.env
] file.
curl -fsSL https://bun.sh/install | bash
bun add -g @withgraphite/graphite-cli@stable
ln -s $projects_directory/
(Creating a shortcut for [/var/www/html
] directory in a [~/Code
] directory)sudo mkdir $projects_directory/.packages
(Creating a [/var/www/html/.packages
] directory)sudo cp $lara_stacker_dir/files/.opinionated/project.code-workspace ./$escaped_project_name.code-workspace
(Creating VSC workspaces on Desktop)sudo cp $lara_stacker_dir/files/.opinionated/.prettierrc ./.prettierrc
(Adding Prettier config files to projects)~/.bashrc
] file:
echo -e "\n# Laravel Aliases\nalias cda='composer dump-autoload'\nalias art='php artisan'\nalias wipe='php artisan db:wipe'\nalias fresh='php artisan migrate:fresh'\nalias mfs='php artisan migrate:fresh --seed'\nalias opt='php artisan optimize:clear'\nalias dev='bun run dev'\n" >>/home/$USERNAME/.bashrc
trust
configuration.There is another package on the way to complement tall-stack packages installation; soon, (in sha' allah)...
You can check out the package's changelogs online via WTD.
You can also checkout the project's roadmap from here.
Support ongoing package maintenance as well as the development of other projects through sponsorship or one-time donations if you prefer.
And may Allah accept your strive; aameen.
This package is open-sourced software licensed under the MIT license.