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

# Quick Start

> Install the current development implementation with the production-style HTTPS Compose stack.

# Quick Start

This path uses the **current development implementation** audited for this documentation. It deliberately avoids presenting `docker-compose.platform.yml` as a production path because that file also contains development-validation defaults.

## 1. Clone the audited implementation

```bash theme={null}
git clone https://github.com/datarelay-labs/gdc-platform.git
cd gdc-platform
git checkout feature/post-m29-development
```

## 2. Prepare the environment

```bash theme={null}
cp .env.example .env
```

Do not publish the service with the placeholder secrets from `.env.example`. The release installer detects missing/insecure release secrets and generates secure values where its current release flow supports that behavior.

## 3. Use the production-style HTTPS stack

For a local/evaluation port pair that does not require host ports 80/443:

```bash theme={null}
export GDC_RELEASE_COMPOSE_FILE=deploy/docker-compose.https.yml
export GDC_INSTALL_GENERATE_TLS=1
export GDC_ENTRY_HTTP_PORT=18080
export GDC_ENTRY_HTTPS_PORT=18443
export GDC_PUBLIC_HTTPS_PORT=18443
./scripts/release/install.sh
```

The HTTPS Compose file keeps PostgreSQL and the API off host-facing ports and exposes the browser entry point through the reverse proxy.

## 4. Verify the service

```bash theme={null}
docker compose -f deploy/docker-compose.https.yml ps
curl -k https://localhost:18443/health
```

A healthy API returns a JSON object with `status` and database-index health information.

## 5. Sign in

Open:

```text theme={null}
https://SERVER:18443/
```

For a fresh bootstrap with no `GDC_SEED_ADMIN_PASSWORD`, use:

```text theme={null}
Username: admin
Password: admin
```

You must change the password on first login.

## 6. Create the first managed objects

The current Stream Wizard selects an **existing Connector**. Create a Connector first under **Connectors**, then open **Streams → Create First Stream**.

The current wizard flow is:

```text theme={null}
Connect → Sample → Destinations → Route Processing → Deploy
```

A successful first setup ends with a visible Stream and at least one Route/Destination configuration that can be monitored from Dashboard and Streams.

<Note>
  There is no current “register Data Relay Link” step because the audited source does not implement a Control↔Link management protocol.
</Note>
