# GreenLens Landing Self-hosted Next.js landing page for GreenLens. The production stack in this directory runs: - `caddy` for TLS and reverse proxy - `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 ``` Required environment variables: - `SITE_DOMAIN` - `SITE_URL` - `POSTGRES_PASSWORD` - `JWT_SECRET` - `MINIO_SECRET_KEY` Optional service secrets: - `OPENAI_API_KEY` - `STRIPE_SECRET_KEY` - `STRIPE_PUBLISHABLE_KEY` - `STRIPE_WEBHOOK_SECRET` - `REVENUECAT_WEBHOOK_SECRET` - `PLANT_IMPORT_ADMIN_KEY`