🚀 Arco v0.4.0: Laravel on AWS Lambda, now with a scheduler
Arco is an open-source tool for deploying Laravel apps to AWS Lambda Web Functions, AWS’s new way of running web apps on Lambda. It uses FrankenPHP with Octane workers: your app stays loaded in memory, responds fast, and there are no servers to manage or pay for while there’s no traffic.
What you can already do with Arco
🔹 arco deploy: build, package and ship your app with one command
🔹 Multiple environments (production, staging…) in one arco.php, each with its own AWS account and profile
🔹 Secrets from SSM and Secrets Manager, resolved at boot and never stored in your code
🔹 Custom domains with certificates and CloudFront
🔹 arco command and arco tinker to run artisan and Tinker against production
🔹 arco logs to follow your logs live
🔹 deploy --migrate: migrations run before traffic moves to the new version
🔹 A console with its own PHP binary: starts in ~1 s without downloading anything
New in v0.4.0
⏰ Scheduler. ->scheduler(5) in arco.php, or arco scheduler:set 5, and schedule:run fires every 5 minutes, aligned to the clock (:00, :05, :10…), so dailyAt('09:00') still lands on time. Leave out the number and Arco reads your scheduled tasks, suggests the interval they need, and tells you which ones a slower interval would skip.
🧩 Opt-in console. By default only the web function is deployed. Turn the console on with ->console() or arco console:add. Nothing gets created behind your back.
🗂 Log retention. ->logRetention(30) or arco logs:retention 30. Until now AWS kept logs forever.
🧹 Automatic clean-up of runtime binaries no version uses anymore. It never touches one you could still roll back to.
🛡 Safe upgrade. Coming from 0.3? The deploy stops before changing anything and tells you what to add to arco.php (->console() to keep your console).
Every option works two ways: write it in arco.php, or run a command that writes it for you.
Coming next
📬 SQS queues, one or many, each with its own worker and dead-letter queue
🪣 S3 buckets, with optional public folders
⚡ DynamoDB tables for cache and failed jobs
🔍 An arco init that detects what your app uses and offers to set it up
Arco creates each resource for you, or you can point to one you already have.
Try it
composer require multiapi/arco
vendor/bin/arco init
vendor/bin/arco deploy
MIT-licensed and free. I’m looking for early adopters running real apps. Tell me what’s missing: issues, ideas and honest criticism all help.
🔗 github.com/multi-api/arco
#Laravel #PHP #AWS #Serverless #OpenSource
GitHubGitHub - multi-api/arco: The bridge between PHP and AWS Lambda Web Functions — deploy Laravel with FrankenPHP + Octane (read-only split of arco-monorepo)The bridge between PHP and AWS Lambda Web Functions — deploy Laravel with FrankenPHP + Octane (read-only split of arco-monorepo) - multi-api/arco
commit 4af6b88