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.