Guide

Get started

Quick start

Deploy a service from a GitHub repository, give it a public URL, and watch it come up. It takes a few minutes and needs only a GitHub account.

1. Sign in

Open the console and choose Continue with GitHub. Your first sign-in creates a personal workspace named My Projects, with a trial that includes €5 of usage. See Plans and billing.

Mesh then shows a one-line prompt for your coding agent. Paste it into the agent and ask it to deploy your repository, or choose Continue to GUI to follow the steps below. See MCP server.

2. Create a project

On the Projects page, choose New project. A project groups the environments of one application. It opens on its production environment, an empty canvas.

3. Add your repository

Press ⌘ K, or choose Add on the canvas, then GitHub repository. The first time, Mesh asks you to install its GitHub App on the repositories it may read.

Pick a repository. Mesh inspects it and suggests a build:

  • Railpack detects the language and framework and builds an image with no configuration. It suits most Node.js, Python, Go, Ruby, PHP, Java, and static sites.
  • Dockerfile builds the Dockerfile you choose, when the repository has one.

See Builds for both.

4. Deploy

The new service appears on the canvas as a staged change. Nothing runs yet: Mesh collects changes to an environment until you release them together.

Choose Deploy in the bar at the bottom of the canvas, or press ⌘ ⇧ ↵. Review lists every staged change first. Mesh builds the image, starts the service, and waits for its health check. Open the service to follow the Deployments tab and its build and runtime logs.

5. Give it a URL

Open the service, go to Networking, and choose Generate domain. Mesh assigns a hostname under the platform domain with HTTPS already working. Choose the port your app listens on if Mesh did not detect it.

Prefer your own domain? Add it in the same tab and point a CNAME record at the generated hostname. See Domains.

6. Push to deploy

Every push to the tracked branch now builds and deploys the service, as long as auto-deploy is on for the environment. Change a variable or a resource limit and Mesh stages it for your next release instead.

Next steps

  • Add a database from a template and connect to it over the private network.
  • Keep data with a volume.
  • Let idle services sleep and pay only while they run.
  • Let your coding agent deploy for you: Mesh is MCP-native, and connecting takes one prompt. See MCP server. Scripts and CI use the API.