# GreenLens Landing

Self-hosted Next.js landing page for GreenLens. The production stack in this directory runs behind an external reverse proxy and includes:

- `landing` for the Next.js standalone app
- `api` for the Express backend from `../server`
- `postgres` for persistent app data
- `minio` for object storage under `/storage/*`

## Local development

```bash
npm install
npm run dev
```

## Production stack

From `greenlns-landing/docker-compose.yml`:

```bash
docker compose up --build -d
```

Published ports for the external reverse proxy:

- `3000` for `landing`
- `3003` for `api`
- `9000` for MinIO object storage
- `9001` for the MinIO console

Required environment variables:

- `SITE_DOMAIN`
- `SITE_URL`
- `POSTGRES_PASSWORD`
- `JWT_SECRET`
- `MINIO_SECRET_KEY`

Optional service secrets:

- `OPENAI_API_KEY`
- `REVENUECAT_WEBHOOK_SECRET`
- `PLANT_IMPORT_ADMIN_KEY`
