Skip to content
Shipping

Deployments

One button. Predictable stages. Live URL on the other side.

The one-button promise

Hitting Deploy in Studio fires the same pipeline every time — same stages, same order, same structured logs. There's no "fast deploy" or "secret deploy" path. Loor's promise is that the button behaves the same way today, tomorrow, and after you've shipped a hundred times.

What happens when you click Deploy

  1. 01 Build

    Framework-native build via the right preset (Next, Vue, Vite, Astro, Go, Python, etc.).

  2. 02 Containerize

    Multi-stage Dockerfile with layer cache.

  3. 03 Provision

    Spin up backing services your project asks for (MongoDB, Redis, R2).

  4. 04 Roll out

    Apply the new revision to the regions you're configured for.

  5. 05 Health check

    Wait for the new replicas to pass readiness.

  6. 06 DNS

    Update records for any custom domain pointing at the deployment.

  7. 07 TLS

    Issue or renew certificates automatically.

  8. 08 Cut over

    Switch traffic. Old replicas drain gracefully.

Each stage is idempotent — re-running a failed deploy resumes from where it failed, rather than starting over.

Branch previews

Every branch you push gets a preview URL. Set the template in loor.json under services.web.branches. Previews share the same backing services as production unless you opt for isolated ones.

Rollback

Open Deployments in the project sidebar. Any past deployment can be re-applied with one click — Loor points the image back to that revision, and K8s rolls the change. DNS and TLS stay untouched.

Environments

Studio ships with three default environments: production, preview, and dev. Each has its own env vars, secrets, and (optionally) backing services. You can add more in Project Settings → Environments.