Quick Start
This guide takes you from a fresh SKE account to a running Laravel application. You need the CLI installed and a cloud account (AWS or GCP) ready.
1. Sign in
Section titled “1. Sign in”ske loginEmail: you@example.comWe sent a sign-in link to you@example.com.Open it, check it shows this code, and press Approve:
WDJB-MJHT
Signed in as you@example.com — using acme-corp2. Connect a cloud provider
Section titled “2. Connect a cloud provider”Connect your AWS account or GCP project. SKE provisions all infrastructure inside your cloud account — it never hosts your application.
In the dashboard, go to Connections, Cloud providers and select Connect provider:
- For AWS, create an IAM role with the trust policy the wizard shows and the required permissions (see AWS setup), then enter its role ARN and a default region.
- For GCP, create a service account (see GCP setup) and drop its JSON key file into the wizard.
Select Validate connection, give the connection a name and save it.
3. Create a project
Section titled “3. Create a project”Go to Projects, select New project, enter a name, pick Laravel as the runtime and select Create and continue.
4. Create an environment
Section titled “4. Create an environment”Create and continue opens the project’s setup page, Connect my-laravel-app. Its Environment field starts at production. Select Create this environment: the environment form opens with that name filled in. Pick the cloud provider and region, and select Create environment.
To add more environments later, open the project and select Add environment.
5. Link your project directory
Section titled “5. Link your project directory”From your Laravel project directory, run ske link to link it to the SKE project and environment:
cd ~/projects/my-laravel-appske linkSelect a project: 1. My Laravel App (my-laravel-app)Enter number: 1Select a default environment: 1. production (production)Enter number: 1Linked to acme-corp/default/my-laravel-app (default environment: production)Added .ske/ to .gitignore.The link is saved in .ske/project.json, which stays out of git. Commands run in this directory then use the linked project and environment.
6. Set secrets
Section titled “6. Set secrets”APP_KEY is created for you when the environment is created, and the attached database’s DB_* variables are set on each deploy. Set the other secrets your app needs, such as API keys:
ske secret set STRIPE_SECRETValue:Secret STRIPE_SECRET set.A secret overrides an injected variable of the same name, so don’t set DB_* secrets unless you mean to replace the database’s values, or AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY unless you mean to replace the function role’s credentials. See Environment variables.
7. Deploy
Section titled “7. Deploy”ske deployDeployment 7246183051948032011 initialized.Building image (linux/arm64)... #1 [internal] load build definition from Dockerfile ...Image pushed.Uploaded 128 assets.Deployment 7246183051948032011 started.
[stack] Stack ready[function] Functions updated[alias] Traffic switchedDeployment succeeded (sequence #1) in 3m 12s
Application URL: https://abc123.execute-api.us-east-1.amazonaws.comThe application URL is the environment’s URL at your cloud provider: an API Gateway URL on AWS, or a Cloud Run URL on GCP. To serve it from your own domain, see Domains.
What happened
Section titled “What happened”- Build — SKE generated a Dockerfile for your Laravel app, built a container image locally using Docker, and pushed it to your cloud provider’s container registry (ECR on AWS, Artifact Registry on GCP).
- Assets — Static files from your
public/directory were uploaded to cloud storage for CDN delivery. - Provision — Infrastructure was provisioned in your cloud account: compute (Lambda or Cloud Run), API gateway, and any configured resources.
- Activate — Traffic was routed to the new deployment. The previous version (if any) remains available for instant rollback.
Next steps
Section titled “Next steps”- Add a database — provision RDS or Cloud SQL
- Configure a custom domain
- Set up secrets for your environment
- Understand rollbacks