Core concepts

The few ideas Lahyer is built around, from organizations to deployments.

Organizations

Everything in Lahyer belongs to an organization: projects, domains, databases, billing and the people who work on them. The plan, Free or Pro, is chosen per organization, and its limits are shared by every project in it. People join with one of three roles: owner, admin or member.

Projects

A project is one app. It knows where the code comes from (a repository, an uploaded folder or a Lahyer Studio app), which branch is production, the directory the app lives in and how to build it. The project's slug is its address: a project with the slug shop is served at shop.lahyer.app, and at any custom domains you connect.

Deployments

A deployment is one build of your code, run in isolation. It moves through Queued, Building and Deploying, and ends Ready, Failed or Canceled. The build log streams while it runs and is kept with the deployment.

There are two kinds:

  • Production deployments come from the production branch. When one is ready, your live address moves to it. A failed build never replaces the version that is live.
  • Preview deployments come from pull requests (merge requests on GitLab). Each branch has its own address, <project>-git-<branch>.lahyer.app, which always shows the branch's newest ready deployment. The preview closes when the pull request does.

You can roll production back to an earlier deployment, or promote a deployment to production, without rebuilding.

Static sites and server apps

A build produces one of two things, and Lahyer serves each its own way:

  • Static sites are files served from the edge. Single-page apps built with Vite, Create React App or Angular fall back to index.html for paths that have no file, so client-side routing works.
  • Server apps run as a Node.js server, or as the container your Dockerfile describes. A server app sleeps after five quiet minutes and wakes with the next request, so the first request after a quiet spell can be slower (a cold start). On Pro, one app per organization can stay always on.

Server apps get 0.25 vCPU and 0.5 GiB of memory on Free, and 0.5 vCPU and 1 GiB on Pro, where production can scale out to three copies under load. See Plans and limits.

Where apps run

Apps run in Johannesburg, South Africa, and are served everywhere through a global edge network with TLS and a web application firewall in front.

Environment variables

Each project keeps two sets of environment variables: one for production and one for previews. Values are encrypted at rest and never shown in logs. Changes apply to the next deployment, so redeploy after changing them.

Lahyer AI

Lahyer AI explains failed builds and log lines, and answers questions about your projects: what failed this week, which app uses the most, how close you are to your limits. It works with read-only tools; when it suggests a redeploy, rollback or promote, nothing happens until a person approves it.

On this page