Getting started

Quickstart

From an empty account to a deployed Magento store — connect a repository, attach infrastructure, deploy, add a domain.

This walks through a first deploy end to end. Budget about twenty minutes, most of which is waiting for servers to build.

1. Connect your source control

Go to Source control and connect GitHub or GitLab. Nautvia asks for enough access to read your repository and register a webhook, nothing else. The connection belongs to the team, and only the team owner can make it.

Only gitlab.com is supported — self-hosted GitLab is not. See Source control.

2. Create a site

Sites → Create site. Pick the repository, confirm the branch, name the site. The name is only a label; it also seeds your temporary hostname.

Creating the site immediately creates its production environment. Nothing is provisioned yet and nothing is billed yet — infrastructure appears on your first deploy.

3. Attach a database, a cache and a search cluster

On the environment's Overview, add all three:

  • Database — a MySQL cluster plus the first logical database inside it.
  • Cache — Valkey. Magento uses it for sessions, the default cache and the full page cache.
  • Search — OpenSearch. Magento 2.4 will not install without it.

The Deploy button stays disabled until all three are attached. That is not a nag — Magento's installer needs every one of them, and a deploy without them would fail halfway.

Attaching stages the resource. It becomes live on the next deploy.

4. Set your Magento Composer credentials

If your composer.json pulls from repo.magento.com, the build cannot authenticate without your keys. Add an environment variable named MAGENTO_COMPOSER_AUTH containing the JSON Composer expects, on a single line:

MAGENTO_COMPOSER_AUTH={"http-basic":{"repo.magento.com":{"username":"YOUR_PUBLIC_KEY","password":"YOUR_PRIVATE_KEY"}}}

Nautvia passes it to Composer as COMPOSER_AUTH during the build. Without it, composer install fails with a 401 and the deploy stops there. See Environment variables.

5. Deploy

Press Deploy. The first one is the slow one — it provisions four servers, waits for each to finish installing, creates your database, then builds and installs Magento. Expect ten to twenty minutes. Later deploys skip all the provisioning and take a few minutes.

Watch the log stream on the deployment page. If it fails, the failure reason is at the top and your store is untouched.

6. Open the store

Once the deploy succeeds, a temporary hostname is created for you — something like your-site-production.apps.nautvia.com — and the Visit button in the environment header becomes active.

Your admin URL and password are behind the key icon in the environment header. The admin path is randomised; it is not /admin.

Two-factor authentication is switched off on new installations. Stock Magento 2.4 will not let you log in without working outbound mail, so Magento_TwoFactorAuth is disabled during the first install. Configure mail in your store and turn it back on. Leaving an admin panel on password-only is not a state to stay in.

7. Point your domain at it

Add your domain under Domains, create the A record it shows you, and wait for verification and the certificate. Then set it as primary so Magento's base URL follows. See Domains and SSL.

What happens next

Push to your branch and it deploys automatically — the webhook was registered when you created the site. See Deploy hooks and commands if you want a deploy URL instead, or extra commands to run on every release.