---
title: "Quick Start — Your First Ring Clone"
description: "Clone, configure Postgres-primary backend, and run locally with install.sh or manual setup"
locale: "en"
---
# Quick Start: Your First Ring Clone

  **Ringdom-managed hosting?** [ringdom.org](https://ringdom.org) — describe your platform in the homepage chat. After handoff use [Customization guide](/docs/customization/customization-guide.md).

> **Info**
> **Time:** 45–90 minutes · **Prerequisites:** Git, Node.js 20+, Docker optional for Postgres.

| Outcome | Details |
|---------|---------|
| Local app | `http://localhost:3000` via `HomeWrapper` |
| Backend | `DB_BACKEND_MODE=k8s-postgres-fcm` + PostgreSQL |
| Auth | Auth.js v5 — `AUTH_SECRET` + one OAuth provider |
| Schema | `data/schema.sql` v4+ and kingdom migrations |
| Config | `ring-config.json` + `.env.local` |

```mermaid
flowchart LR
  A[Clone] --> B[env + ring-config]
  B --> C[PostgreSQL]
  C --> D[migrations]
  D --> E[npm run dev]
  E --> F[Smoke test]
```

**Recommended** — from a fresh directory:

{`git clone https://github.com/connectplatform/ring.git
cd ring
chmod +x install.sh
./install.sh --quick`}

`install.sh` v2.0:

- Creates **`ring-config.json`** from template
- Copies **`env.local.template`** → `.env.local` (includes `DB_BACKEND_MODE=k8s-postgres-fcm`)
- Generates `AUTH_SECRET` / wallet keys
- Runs `npm install`

Flags: `--clone-name my-ring`, `--quick`, `--help`. See `INSTALL.md`.

Clone and install:

{`git clone https://github.com/connectplatform/ring.git
cd ring
npm install
cp env.local.template .env.local
cp ring-config.template.json ring-config.json`}

Edit `ring-config.json` — `clone.displayName`, `domains.development`, `features`.

Set **required** backend mode:

{`DB_BACKEND_MODE=k8s-postgres-fcm
DB_HOST=localhost
DB_PORT=5432
DB_NAME=ring_platform
DB_USER=ring_user
DB_PASSWORD=ring_password_2024`}

> **Warning**
> Do **not** use legacy `DATABASE_MODE=firebase_only` or `postgresql_only`.

Other modes: [Database selection](/docs/customization/database-selection.md).

**PostgreSQL** — Docker (`docker-compose.dev.yml`), Homebrew bootstrap (`./infrastructure/postgres/bootstrap-brew-dev.sh`), or existing server.

Apply migrations:

{`export DATABASE_URL="postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}"
./scripts/run-migration.sh`}

Full order: [Database migrations](/docs/getting-started/migrations.md).

Auth minimum:

{`AUTH_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
NEXT_PUBLIC_BASE_URL=http://localhost:3000`}

Locales (defaults OK):

{`NEXT_PUBLIC_SUPPORTED_LOCALES=en,uk,ru
NEXT_PUBLIC_DEFAULT_LOCALE=en`}

{`npm run dev`}

Open [http://localhost:3000](http://localhost:3000) — home via `components/wrappers/home-wrapper.tsx`.

## Smoke-test checklist

- [ ] Home — `locales/{locale}/pages.json` → `pages.home`
- [ ] `/login` — OAuth works
- [ ] `/entities`, `/opportunities` — no DB adapter errors
- [ ] `npm run type-check` passes

- [ ] Runbook documents `DB_BACKEND_MODE` (not `DATABASE_MODE`)
- [ ] Migrations match `data/migrations/` list
- [ ] FCM vars only if push enabled
- [ ] Secrets in k8s / vault — never commit `.env.local`

## Production outline

[Self-hosted deployment](/docs/deployment/self-hosted.md) — Docker or `npm run build && npm start`.

[Environment](/docs/deployment/environment.md) — PaymentConductor, FCM, PSP keys.

Ringdom settlers: [ringdom.org](https://ringdom.org) chat — skip this Quick Start.

> **Warning**
> **Not recommended for full v1.6:** Vercel + `firebase-full` only. Production default: **`k8s-postgres-fcm`** on your cluster.

  
- **[Customization guide](/docs/customization/customization-guide.md)** — Branding, HomeWrapper, locales

  
- **[Database selection](/docs/customization/database-selection.md)** — `DB_BACKEND_MODE` matrix

  
- **[Payment integration](/docs/customization/payment-integration.md)** — PaymentConductor setup

  
- **[Architecture hub](/docs/architecture.md)** — System internals

> **Success**
> **Clone running?** Edit `ring-config.json` and `locales/en/pages.json`, then `.reggie-propagate-exclude.json` before Reggie propagation.
