# Quickstart: deploy your first site with Vimonto Deploy

> From sign-up to a live site: connect a cloud provider and Git, create and provision a server, create a site from your repository and deploy it.

This quickstart takes you from a new account to a site that is deployed from your Git repository and reachable on the internet. It takes about fifteen minutes, most of which is the server being installed while you wait.

You need a Git repository on GitHub, GitLab or Bitbucket, and either an account at Hetzner Cloud, DigitalOcean, Vultr, Akamai, Amazon Web Services or Google Cloud, or a server of your own with a clean Ubuntu 24.04.

![A tour of Vimonto Deploy: the overview, the servers list, a server and one of its sites](https://ops.vimonto.com/docs-media/en/tour.mp4?v=161e760d)

## Step 1: Create your account

1. Open the registration page and fill in **Name**, **Email address**, **Password** and **Confirm password**.
2. Click **Create account**.
3. Confirm your email address with the link we email you.

Every new account gets an organization of its own, named after you (for example "Sam's organization"). By creating the account you accept the [legal documents](/legal), as the form says under **Create account**.

After you confirm your email address, a short welcome takes you through four steps:

1. **Welcome**: what Vimonto Deploy does. **Skip the introduction** takes you straight to the app.
2. **Organization**: give your organization the name of your company or team. You can change it later under **Settings**, or create more organizations. See [organizations](https://ops.vimonto.com/docs/organization/organizations).
3. **Your trial**: your first organization gets Premium for free for 7 days, with every feature and no payment details. The step shows when the trial ends and what comes after: Premium, or the free plan. See [billing](https://ops.vimonto.com/docs/organization/billing).
4. **Connect**: the two connections to make first, your cloud provider and your Git host (steps 2 and 3 below). **Connect a cloud provider** and **Connect a Git host** open **Settings** → **Integrations**; **Go to my dashboard** opens the overview.

Either way, a short tour then shows you around: **Settings**, **Servers**, **Sites**, **Activity**, the search, the notifications and **Support**. Use **Next** and **Back**, or the arrow keys; **Skip tour** or Escape closes it.

The overview of a new organization shows **Get started**: a checklist from connecting your cloud provider to your first deploy. Each step ticks itself off when it is done, the next one has its button ready, and **Take the tour** shows the tour again. The cross hides the checklist for that organization; it also disappears once every step is done.

## Step 2: Connect a cloud provider

Skip this step if you use your own server.

1. Open **Settings** in the top navigation and choose **Integrations**.
2. Under **Add an integration**, find Hetzner Cloud, DigitalOcean, Vultr, Akamai (Linode), Amazon Web Services or Google Cloud and click **Connect**.
3. For DigitalOcean and Akamai, when sign-in through the provider is available, **Connect** takes you to the provider to sign in and brings you back; click **With token** to paste a token instead. Otherwise paste a token from your provider (for AWS an access key ID and secret, for Google Cloud a service account key) and click **Check and connect**.

The account shows as **Working** once the token has been checked. The same login manages the DNS of the domains in that account. Details per provider are in [cloud and DNS accounts](https://ops.vimonto.com/docs/connections/server-providers).

## Step 3: Connect your Git host

1. On the same **Integrations** page, find GitHub, GitLab or Bitbucket under **Add an integration**.
2. Click **Connect** and approve access at your Git host (a host shows **Coming soon** until sign-in with it has been set up on the platform). For a self-hosted GitLab, click **Connect** on the GitLab (self-hosted) card and paste its address and a personal access token.

Vimonto Deploy uses this connection to list your repositories and branches, and to add a read-only deploy key and a push webhook to the repository you deploy. See [Git accounts](https://ops.vimonto.com/docs/connections/source-control).

> [!TIP]
> Add your own public SSH key under **Account settings** → **SSH keys** before you create the server. You can then select it in the next step and log in to the server from your own computer. See [your account](https://ops.vimonto.com/docs/more/account#add-your-personal-ssh-keys).

## Step 4: Create a server

1. Go to **Servers** and click **New server**.
2. Under **Provider**, choose your connected cloud account, or **Custom server** for a machine of your own.
3. Under **Type**, keep **App server** (marked **Recommended**). It puts Nginx, PHP, a database, Redis, Memcached and Node.js on one machine, which is right for most applications.
4. Choose a **Location**, a **Size**, a **Server name** and the versions to install, then review and click **Create server**.

With a cloud provider, Vimonto Deploy creates the server in your account, waits until it boots and then provisions it. With a custom server, you get one command to run on your machine as root; provisioning starts as soon as it calls back.

Provisioning takes a few minutes. You can follow every step live on the server page or under **Activity**, and you can leave the page in the meantime: you get a message when it is done, and a notification under the bell in the top bar. When the server shows **Active**, it is ready. See [create a server](https://ops.vimonto.com/docs/servers/create-a-server), [custom VPS](https://ops.vimonto.com/docs/servers/custom-vps) and [provisioning](https://ops.vimonto.com/docs/servers/provisioning) for all options.

## Step 5: Create a site

1. Open the server and choose **Sites** in the sidebar.
2. Click **New site** and choose what your site is built with, for example Laravel.
3. Choose the **Repository** and **Branch** to deploy.
4. Choose the address. Every site can get a generated address on `on-deploy.link`, which works immediately without DNS changes. Choose **Use a custom domain** to enter your own domain instead.
5. For frameworks that need one, choose or create a database under **Connect a database**.
6. Click **Create site**.

> [!TIP]
> Your domain's DNS can be set for you. Connect Cloudflare, Hetzner Cloud, DigitalOcean, Vultr, Akamai, AWS or Google Cloud under [integrations](https://ops.vimonto.com/docs/connections/integrations), and Vimonto Deploy finds the domain there, creates its records and requests HTTPS by itself. Without one, the domain form shows **Tip: let us set the DNS records** with a link to connect one.

Vimonto Deploy sets up the site on the server, adds a deploy key and webhook to your repository and starts the first deploy right away. See [create a site](https://ops.vimonto.com/docs/sites/create-a-site).

Your sites are listed on the server's **Sites** page, and every site of the organization, on all its servers, under **Sites** in the top navigation.

## Step 6: Watch the first deploy

Open the site and choose **Deployments**. The running deploy shows its steps as they happen: **Fetch code**, **Run deploy script**, **Go live** and **Clean up old releases**. Open it to read the output of each step. A deploy only goes live when every step succeeded, so a failed build never breaks your site.

When the deploy has succeeded, open the site's address. Your application is online.

From now on you can:

- click **Deploy now** in the site header to deploy the latest commit,
- turn on **Quick deploy** so every push to the branch deploys automatically,
- or call the site's deploy URL, or the [REST API](https://ops.vimonto.com/docs/more/api), from your CI pipeline.

See [deployments](https://ops.vimonto.com/docs/sites/deployments).

## Step 7: Finish the setup

- Edit the [environment file](https://ops.vimonto.com/docs/sites/environment) (`.env`) with your application's settings.
- Point your own domain at the server and [request a free Let's Encrypt certificate](https://ops.vimonto.com/docs/sites/domains-and-ssl).
- Start [queue workers and the scheduler](https://ops.vimonto.com/docs/sites/queues-and-scheduler) if your application uses them.
- Set up [database backups](https://ops.vimonto.com/docs/servers/backups) and [monitoring](https://ops.vimonto.com/docs/servers/monitoring).
- [Invite your team](https://ops.vimonto.com/docs/organization/members-and-roles) and, if needed, use [teams](https://ops.vimonto.com/docs/organization/teams) to limit who sees which servers.
- Choose which [notifications](https://ops.vimonto.com/docs/more/notifications) you want, for example when a deploy fails.

## Frequently asked questions

### How long does provisioning a server take?

Usually a few minutes. It depends on the server size and on how quickly the provider boots the machine. You can follow each step under **Activity** while it runs.

### Can I deploy without a Git repository?

Yes, for some site types. A site can be created without a repository, for example WordPress or phpMyAdmin, which Vimonto Deploy installs for you. To deploy your own code, connect a Git host first.

### Do I need my own domain to start?

No. When generated addresses are available, every site can get an `on-deploy.link` address that works straight away. You can add your own domain later under **Domains and SSL**.
