Your First Application
Ready to bring your first masterpiece to the cluster? LaraKube makes the process as intuitive as running a standard Laravel installer.
1. Start the Wizard
Run the following command to begin the interactive orchestration process:
larakube new my-awesome-app
💡 Fast Track: Want to skip the LaraKube questions and use our "ideal" high-performance defaults (MySQL, Redis, Reverb, etc.)? Just add the
--fastflag:larakube new my-awesome-app --fast
2. Architectural Choices
LaraKube will guide you through several thoughtful decisions:
- Application Blueprint: Choose your foundation (Standard Laravel, FilamentPHP, or Statamic).
- Server Variation: Select your engine. FrankenPHP is recommended for its incredible performance and Octane support.
- Operating System: Choose between the lightweight Alpine or the standard Debian.
- Laravel Features: Select the "Lego bricks" your app needs (Horizon, Reverb, Scout, etc.).
- Databases: Choose your foundation (SQLite, MySQL, MariaDB, or PostgreSQL).
3. Configuration (The .env Source of Truth)
LaraKube uses your local environment files to configure the entire cluster.
- Local: Edit the standard
.envfile. - Production: A
.env.productionwas created for you.
LaraKube automatically configures these files with the correct Kubernetes hostnames (e.g., DB_HOST=mysql), so you usually don't need to change much for local development.
4. Launching the Cluster
Enter your new project directory and bring the environment to life:
cd my-awesome-app
larakube up
LaraKube will automatically:
- Build your local Docker image.
- Configure your
/etc/hostsfor the project's local domains. - Deploy the Kubernetes manifests (Deployments, Services, Ingresses, PVCs).
- Wait for all pods to be healthy.
- Run migrations once the database is fully ready.
- Perform a smoke test to verify that your domains are reachable.
5. Daily Development (Pause & Resume)
LaraKube makes daily development fast and stable. Instead of deleting your environment when you're finished for the day, use the Stop/Start workflow to preserve your data:
# Pause your cluster (Saves CPU/RAM, keeps data safe)
larakube stop
# Resume exactly where you left off
larakube start
6. Behold!
Your application is now live!
- App: https://my-awesome-app.local
- Mailpit: https://mailpit.my-awesome-app.local
- Meilisearch: https://meilisearch.my-awesome-app.local (If enabled)