> ## Documentation index
> The full klickops handbook index is at https://klickops.io/llms.txt
> The HTML of this page is at https://klickops.io/en/docs/first-deploy
> Language: en

# Your first deploy

From signing up to a running container with a URL, in about five minutes and without touching Kubernetes.

## Before you start

You need a container image that listens on a port, or a Git repository klickops can build for you. Nothing else: no cluster, no kubectl, no YAML.

If you only want to see it work, `nginx:1.27-alpine` on port 80 is a container that starts in seconds and serves a page.

## Sign up and name your organization

Signing up drops you on one screen: name your organization, accept the terms, create. The name is prefilled from your account, so the fast path is a single click, and it stays editable if you want your real company on it.

That organization is where your plan, your billing and your people live. You will not need to think about it again for a while.

## Create a project

A project is a box for related workloads: an app, its database, its domain. Give it a name that describes the thing, not the environment. `shop` rather than `production`, because separate environments are usually separate projects.

## Deploy the app

1. Open the project and choose **Deploy an app**.
2. Pick a source. Paste a container image reference, or connect a Git repository and let klickops build it.
3. Check the port. klickops inspects the image and fills it in, and the suggestion is usually right.
4. Leave the rest alone. One replica, a TCP health check, CPU and memory sized automatically. These are the defaults because they are what most apps want.
5. Deploy.

The app appears in the list and goes green in a few seconds, once the container accepts a connection on its port.

![Two apps running in a project, which is what the list looks like once a deploy finishes.](/handbook/apps-list.webp)

## Put it on the internet

Open the app, go to **Domains**, and turn on the klickops subdomain. You get a hostname that resolves immediately with a certificate already valid, and no DNS to configure.

Your own domain is the same tab: add the hostname, create the DNS record klickops shows you, and wait for the check to go green. See [Domains](/docs/domains).

## What to do next

- Give it a database and let klickops inject the credentials, rather than pasting them into a secret. See [Databases](/docs/databases).
- Read [Organizations, projects, workloads](/docs/concepts) if you want the mental model before you build more.
- Everything the UI does, the `klops` CLI and the API do too. Nothing here is a dead end.

> [!Careful]
> The free plan is one project, one app and one database, with a single replica each. You will hit that quickly if you are building something real, and the limits are enforced when you create, not when you are billed.
