> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neterial.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started

> Deploy your first app in minutes using git push

<Expandable title="TL;DR - all commands">
  ```sh theme={null}
  curl -sSL https://get.neterial.cloud/cli.sh | bash
  neterial auth login
  neterial ssh-key add --auto-detect
  neterial provider init hcloud  # or: neterial provider init aws
  neterial infra create vm --cloud hcloud  # or: --cloud aws

  # In your app repo:
  git remote add neterial git@git.<hostname>.neterial.app:<app>.git
  git push neterial main
  ```
</Expandable>

## 1. Install CLI

```sh theme={null}
curl -sSL https://get.neterial.cloud/cli.sh | bash
```

## 2. Log in

```sh theme={null}
neterial auth login
```

New users can create an account during login.

## 3. Add your SSH key

```sh theme={null}
neterial ssh-key add --auto-detect
```

## 4. Connect your cloud

<Tabs>
  <Tab title="Hetzner Cloud">
    ```sh theme={null}
    neterial provider init hcloud
    ```

    Or connect via UI: [Connect Hetzner Cloud](/cloud-providers/connect-hetzner-cloud)
  </Tab>

  <Tab title="AWS">
    ```sh theme={null}
    neterial provider init aws
    ```

    Or connect via UI: [Connect AWS](/cloud-providers/connect-aws)
  </Tab>
</Tabs>

Verify that the cloud is connected:

```sh theme={null}
neterial provider list
```

## 5. Create a VM

<Tabs>
  <Tab title="Hetzner Cloud">
    ```sh theme={null}
    neterial infra create vm --cloud hcloud
    ```
  </Tab>

  <Tab title="AWS">
    ```sh theme={null}
    neterial infra create vm --cloud aws
    ```
  </Tab>
</Tabs>

Example output:

```console theme={null}
Creating VM "default" in hel1 on hcloud...
Waiting for the VM to be ready.............
VM is ready (k3s installed)
Access your cluster:

kubectl --context default-neterial-admin@default-neterial cluster-info

Deploy apps with git push:

  git remote add neterial git@git.01kfybgvn6ewjrgsrzkseqcgpt.neterial.app:<your-app>.git
  git push neterial main
```

## 6. Deploy your app

Go to your app's repository.

<Expandable title="Don't have a repo? Create a sample app">
  ```sh theme={null}
  npx create-next-app@latest my-app
  cd my-app
  ```
</Expandable>

Copy the git remote command from the output and run it in your repository:

```sh theme={null}
git remote add neterial git@git.<your-hostname>.neterial.app:<your-app>.git
```

Push to deploy:

```sh theme={null}
git push neterial main
```

You will see the URL in the output:

```console theme={null}
remote: Deployed! Application URL:
remote: -------------------------------------------------------
remote:   https://hello.01kfxd43vxe0ran5xhwjtd4m5n.neterial.app
remote: -------------------------------------------------------
```

Open the URL to see your app running.

## Next step

For deploying with Kubernetes manifests instead of git push, see [Deploy App to k8s](/guides/deploy-app-to-k8s).
