docs: add Cloudflare tunnel setup guide and ports reference
Add step-by-step Cloudflare tunnel setup to README.md with Summit Dental Care as a multi-office example. Create docs/ports.md documenting all service hosts and ports. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
84
docs/ports.md
Normal file
84
docs/ports.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Development Hosts & Ports
|
||||
|
||||
This document defines the default **host** and **port** used by each app/service
|
||||
in this turborepo.
|
||||
Update this file whenever a new service is added or port is changed.
|
||||
|
||||
---
|
||||
|
||||
## Frontend (React + Vite)
|
||||
- **Host:** `localhost` (default)
|
||||
- Use `0.0.0.0` if you need LAN access (phone/other device on same Wi-Fi).
|
||||
- **Port:** `3000`
|
||||
- **Access URLs:**
|
||||
- Local: [http://localhost:3000](http://localhost:3000)
|
||||
- LAN: `http://<your-ip>:3000` (only if HOST=0.0.0.0)
|
||||
|
||||
**Current setup:**
|
||||
Frontend is running on `0.0.0.0` and is accessible via the device IP.
|
||||
|
||||
**`.env` file:**
|
||||
```env
|
||||
NODE_ENV=development
|
||||
HOST=0.0.0.0
|
||||
PORT=3000
|
||||
VITE_API_BASE_URL_BACKEND=http://192.168.1.8:5000
|
||||
```
|
||||
|
||||
`VITE_API_BASE_URL_BACKEND` must point to the backend's IP/port as seen from the browser.
|
||||
Use `localhost` if only accessing from the same machine, or the machine's LAN IP for access from other devices.
|
||||
|
||||
---
|
||||
|
||||
## Backend (Express.js)
|
||||
- **Host:** `0.0.0.0` (all interfaces)
|
||||
- **Port:** `5000`
|
||||
- **Access URL:** [http://localhost:5000](http://localhost:5000)
|
||||
|
||||
**Current setup:**
|
||||
Runs on all interfaces and allows configured frontend URLs via CORS. Change `FRONTEND_URLS` to match your setup.
|
||||
|
||||
**`.env` file:**
|
||||
```env
|
||||
NODE_ENV="development"
|
||||
HOST=0.0.0.0
|
||||
PORT=5000
|
||||
FRONTEND_URLS=http://localhost:3000,http://192.168.1.8:3000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Patient Data Extractor Service
|
||||
- **Host:** `localhost`
|
||||
- **Port:** `5001`
|
||||
- **Access URL:** [http://localhost:5001](http://localhost:5001)
|
||||
|
||||
---
|
||||
|
||||
## Selenium Service
|
||||
- **Host:** `localhost`
|
||||
- **Port:** `5002`
|
||||
- **Access URL:** [http://localhost:5002](http://localhost:5002)
|
||||
|
||||
---
|
||||
|
||||
## Payment OCR Service
|
||||
- **Host:** `localhost`
|
||||
- **Port:** `5003`
|
||||
- **Access URL:** [http://localhost:5003](http://localhost:5003)
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
- `HOST` controls binding: `localhost` = loopback only, `0.0.0.0` = all interfaces (LAN accessible).
|
||||
- `PORT` controls the service's port. Ports never conflict across separate machines — two office PCs can both run on port 5000 with no issue.
|
||||
- Frontend uses `VITE_` prefixed variables for client-side access (e.g. `VITE_API_BASE_URL_BACKEND`).
|
||||
- In production, traffic is routed through Cloudflare Tunnel — see [Cloudflare Tunnel Setup](../README.md#cloudflare-tunnel-setup-remote-access-per-office) in the main README.
|
||||
|
||||
---
|
||||
|
||||
**Action for developers:**
|
||||
1. Copy `.env.example` → `.env` inside each app folder.
|
||||
2. Adjust `HOST` / `PORT` if your ports are already taken.
|
||||
3. Set `VITE_API_BASE_URL_BACKEND` to the backend's LAN IP if accessing from other devices.
|
||||
4. Run `npm run dev` from the repo root.
|
||||
Reference in New Issue
Block a user