# 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`