Skip to content

git push
and go outside

Connect a repository or a container image. We detect the stack, build it, put it behind HTTPS and keep it up — with build logs you can actually read and a deploy history that names names. No YAML to write. No cluster to run.

deploy
# maxlayer builds on every push$ git push origin main-> detected Node.js 22 · zero config-> installing dependencies-> running build-> starting container on :3000live at https://storefront.acme.com  (18s)

Deployment live

storefront · built in 18s

Your stack, already known

Bring your own code

Two ways in, one way out

A repository, or an image you already built. Maxlayer meets your code where it lives.

Connect GitHub or GitLab

Authorise once, pick a repository and a branch. Every push to it ships. No webhook to wire by hand.

Container image

Already built it? Point us at the registry and skip the build entirely.

3 steps, 0 servers

Empty account to live URL

Three steps, and none of them involve provisioning anything.

  1. 01

    Point at your code

    Authorise a repository or name an image. The build reads the project and works it out — or uses your Dockerfile, if you keep one.

  2. 02

    Feed it the environment

    Add variables one at a time or paste a whole .env. Flag the sensitive ones secret and they stop reading back.

  3. 03

    Ship it

    We build, start the container, and put it behind HTTPS. Attach a domain and the certificate turns up on its own.

What runs here

Run web apps, APIs, background workers, static sites, internal tools, cron-style jobs and prototypes — each one a repo, a build, and a container.

An app is one deployable thing: a site, an API, a worker. Most teams run several. They all work the same way, which is the point.

Web apps and SaaS

Next.js, Rails, Django, Laravel. Built on every push, served on your own domain over HTTPS.

APIs and backends

Ship a REST or GraphQL service, then hand CI a key scoped to exactly that one job.

Background workers

Queue consumers and schedulers run like everything else here: a repo, a build, a container.

Static sites and docs

Static output skips the runtime entirely. Built from source, served straight, nothing left running.

Internal tools

Admin panels behind your own hostname, with access scoped per person by role.

Prototypes

Stand it up Tuesday. Kill it Friday. Pay for three days.

Somewhere to put it

Data that lives next to your app

Add one in the dashboard and it comes up beside your apps, on your project's own network. Attach it and the connection string is written in as a secret — no copy-paste, no credentials in a chat thread.

PostgreSQL

The default answer, and usually the right one.

MySQL

Widely supported, widely understood.

MariaDB

MySQL-compatible, community maintained.

MongoDB

Document store. Schema on write.

Redis

Cache, queues, sessions. Not a store of record.

Databases start private to your own applications — logs, scheduled backups, and a port you can open deliberately if you need to reach one from your laptop. They bill by the hour like everything else, and stop costing anything the moment you stop them. See database pricing — including what we do not do yet.

The boring 90%

Everything a running app needs

No proxy to configure, no certificates to chase, no runbook to write. Handled before you go looking for it.

Build on push

Connect a branch; every push ships. Rebuild by hand whenever you want one.

Custom domains and TLS

Point a domain at your app. The certificate is issued, installed and renewed for you.

Secrets that stay secret

Mark a variable secret and it turns write-only. Your app reads it. The dashboard never does.

Build logs you can follow

Watch output stream while a build runs. Read back any deploy's log, any time.

Deploy history

Every deployment on the record — status, duration, and who asked for it.

Start, stop, redeploy

The whole lifecycle, from the dashboard or the API. Same result either way.

Not a solo sport

Built for more than one person

Everyone gets the access they actually need and nothing past it. No shared login to rotate the week somebody leaves.

  • Four roles, clearly separated

    Viewers read, developers deploy, admins run the team, owners own the account.

  • Invitations, not shared passwords

    Email an invite with the role already attached. It expires if nobody uses it.

  • API keys scoped to a team

    Hand CI a key carrying exactly the role it needs. Revoke it in one click.

ci/deploy.sh
# deploy from CI with a scoped key$ curl -X POST \  https://api.maxlayer.cloud/v1/orgs/$ORG/apps/$APP/deploy \  -H "Authorization: Bearer $MAXLAYER_API_KEY" \  -H "Content-Type: application/json" \  -d '{"title":"Release v2.4.0"}'{ "id": "b3f8c2a1-…", "state": "deploying", "accepted": true }

Ship something today

Connect a repository and watch it build. From $8 a month, with nothing to cancel.