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.
# 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.
- 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.
- 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.
- 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.
# 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.