Laravel Jetstream is an advanced starter kit by Laravel. Zerops recipe for Jetstream includes all the advanced functionality — session and cache stored in Redis and files stored in Object Storage, this makes it perfectly suitable for production of any size.
You can either click the deploy button to deploy directly on Zerops, or manually copy the import yaml to the import dialog in the Zerops app.
- Laravel + Inertia.js running on a load balanced Zerops PHP + Nginx service
- Zerops PostgreSQL 16 service as database
- Zerops KeyDB (Redis) service for session and cache
- Zerops Object Storage (S3 compatible) service as file system
- Proper setup for Laravel cache, optimization, and database migrations
- Logs set up to use syslog and accessible through Zerops GUI
- Utilization of Zerops built-in environment variables system
- Mailpit as SMTP mock server
Base of the recipe is ready for production, the difference comes down to:
- Use highly available version of the PostgreSQL database (change
mode
fromNON_HA
toHA
in recipe YAML,db
service section) - Use at least two containers for Jetstream service to achieve high reliability and resilience (add
minContainers: 2
in recipe YAML,app
service section) - Use production-ready third-party SMTP server instead of Mailpit (change
MAIL_
secret variables in recipe YAMLapp
service)
If you want to modify your existing Laravel/Jetstream app to efficiently run on Zerops, these are the general steps we took:
- Add zerops.yml to your repository, our example includes idempotent migrations, caching, and optimized build process
- Add league/flysystem-aws-s3-v3 to your composer.json to support Object Storage file system
- Setup Jetstream config to use object storage for file system
- Utilize Zerops environment variables and secrets to setup S3 for file system, Redis for cache and sessions, and trusted proxies to work with reverse proxy load balancer
Need help setting your project up? Join Zerops Discord community.