Docs/Deploying

Deploying

How Launchmatic builds and deploys your code, from git push to live URL.

Build pipeline

Every deployment follows the same pipeline:

CloneLaunchmatic clones your repository at the specified branch and commit SHA.
DetectThe runtime detector scans your project files (package.json, requirements.txt, go.mod, Cargo.toml, Dockerfile) to determine the runtime and framework.
BuildA container image is built using your Dockerfile or an auto-generated one based on your detected runtime. Build logs stream in real time.
PushThe image is pushed to the internal container registry (or your configured Artifact Registry).
DeployA Kubernetes Deployment is created (or updated) with your image, env vars, port, and resource limits. Traffic is routed via the ingress proxy.

Runtime detection

Launchmatic inspects your project root for known config files:

FileRuntime
package.jsonNode.js
requirements.txt / pyproject.tomlPython
go.modGo
Cargo.tomlRust
GemfileRuby
index.htmlStatic
DockerfileDocker (custom)

If a Dockerfile exists it always takes priority. Otherwise Launchmatic generates one based on the detected runtime.

Custom Dockerfiles

Place a Dockerfile in your project root for full control. Launchmatic will use it as-is. Make sure your Dockerfile exposes the correct port and runs a process on startup.

Rollbacks

Every deployment is immutable. To roll back, click the “Redeploy” button on any previous successful deployment. Launchmatic will re-deploy that exact image and config.

Scale to zero

Idle services are automatically scaled to zero replicas after a configurable inactivity period (default: 30 minutes). When a request arrives, the proxy wakes the service within seconds. This keeps costs minimal for staging and hobby projects.