---
url: /guide/get-started.md
description: Deploy your first application with DockIY.
---

# Get started

This guide sets up one server and deploys one application. Complete the
[installation guide](/guide/installation) first to install all required tools:

* Docker
* SOPS
* rsync

## 1. Connect DockIY to a server

```bash
dockiy setup
```

The command will walk you through setting up your server, you will need an `ssh` connection string like `user@56.213.224.182`.

## 2. Set up DockIY services

```bash
dockiy server init --sops "$SOPS_RECIPIENT"
```

Use the public recipient selected in [SOPS identity setup](/guide/installation#sops-identity).
The command creates a server repository, encrypted secrets and dashboard logins,
then deploys it to your server.

The initializer asks for an ACME email, hostnames, and login details for Umami, Dozzle, and Beszel.
See [Managing servers](/guide/managing-servers) for the Compose stack, registry,
and server update details.

## 3. Create an application

```bash
dockiy app init
```

This asks for an application name, creates a repository with that directory
name, and writes the name to `dockiy.yml`.

Available templates are `react`, `vitepress`, `nuxt`, and `nuxt-betterauth`.
You can also pass a Git URL of your own.

Edit `dockiy.yml`. Set each deployment hostname (`example.com` and
`staging.example.com`) and commit:

```bash
git add .
git commit -m "feat: configure application"
```

## 4. Deploy the application

A template with one `default` environment needs an explicit version:

```bash
dockiy app deploy --version v0.1.0
```

A template with staging and production environments uses these commands:

```bash
dockiy app deploy staging
dockiy app deploy production --version v0.1.0
```

The first versioned deployment asks you to confirm `v0.1.0`. After the deploy,
check the server record and running containers:

```bash
dockiy app list
dockiy app status my-app default
```

For a staging or production app, replace `default` with that environment name.
See [Deploying applications](/guide/deploying-apps) for manifests, versions,
retries, and rollbacks.
