---
title: "Quickstart"
description: "From a fresh install to a service with a database on your own domain."
canonical_url: "https://harblet.com/docs/getting-started/quickstart"
---
# Quickstart

> From a fresh install to a service with a database on your own domain.

This guide takes you from a fresh install to an app with a database, reachable at your own domain. You need a running Harblet, see [Installation](https://harblet.com/docs/getting-started/installation).

<steps level="2">

## Create a project

Click **Projects** in the sidebar, then **New project**. Name it after your app, for example `My App`, and click **Create project**.

## Add a database

In the project, click **New service** → **Database**. Keep **PostgreSQL** and the defaults, and click **Create database**.

Once it shows **Deployed**, open it. Its **Overview** tab shows the connection details. Copy the **Connection URL**.

## Deploy your app

Back in the project, click **New service** → **Git repository**.

- **Name:** for example `Web`.
- **Repository:** the `https://` URL of a public repository. For private repositories on GitHub or GitLab, an admin connects them first under **Settings** → **Git**, see [Git repositories](https://harblet.com/docs/deploy/git-repositories#private-repositories).
- **Branch:** the branch to deploy, `main` by default.
- **Port:** the port your app listens on, for example `3000`. Harblet passes it to your app as `PORT`.

Click **Create service**. Harblet starts building right away. Open the service and watch the build on its **Deployments** tab.

<tip>

No app at hand? Click **New service** → **Docker image** instead, enter `Web` as the name, `nginx:latest` as the image and `80` as the port.

</tip>

## Give it the database

Open the app's **Environment variables** tab. Click **Add variable**, enter `DATABASE_URL` as the key and paste the connection URL as the value. Click **Save**, then **Deploy**.

## Add your domain

1. Create a DNS **A record** for your domain, for example `app.example.com`, with the IP address of your server.
2. Go to **SSL Certificates** in the sidebar and click **Upload certificate**. Paste the certificate with its intermediate certificates, and its private key. See [Certificates](https://harblet.com/docs/deploy/domains#certificates).
3. Open the app's **Domains** tab, enter `app.example.com` and click **Add domain**.

Open `https://app.example.com`. Your app answers there.

</steps>

## What's next

<card-group>
<card icon="i-lucide-globe" title="Harblet's domain" to="https://harblet.com/docs/administration/harblet-domain">

Reach Harblet itself at your own domain over HTTPS.

</card>

<card icon="i-lucide-archive-restore" title="Backups" to="https://harblet.com/docs/backups/database-backups">

Back up your database to S3 on a schedule.

</card>

<card icon="i-lucide-webhook" title="Deploy hooks" to="https://harblet.com/docs/deploy/deploy-hooks">

Deploy from your CI pipeline.

</card>

<card icon="i-lucide-users" title="Your team" to="https://harblet.com/docs/administration/team">

Invite your colleagues.

</card>
</card-group>


## Sitemap

See the full [sitemap](https://harblet.com/sitemap.md) for all pages.
