Skip to content

Commit d8ae118

Browse files
committed
Add more docs about Deployment on server
1 parent e855572 commit d8ae118

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

docs/DEPLOYMENT.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,48 @@ Check:
187187
docker compose -f docker-compose.server.yml --env-file .env.server ps
188188
```
189189

190+
Host networking note (Caddy on miniPC):
191+
- If Docker port publishing on the host is blocked or unreliable, run Caddy with `network_mode: host`
192+
and map backend to `127.0.0.1:8000` in `deploy/Caddyfile`.
193+
- In that setup, ensure the backend service exposes `8000:8000` so Caddy can reach it.
194+
190195
### B4) Configure FRP
191196

192-
On your **FRP server** (public machine), ensure ports 80/443 are open.
197+
On your **FRP server** (public machine), ensure ports 80/443 are open and vhost mode is enabled.
193198

194199
On your **miniPC**, configure `frpc` to forward:
195200
- `api.easyrelocate.net:80``miniPC:80`
196201
- `api.easyrelocate.net:443``miniPC:443`
197202

203+
#### FRP (TOML) example
204+
205+
**frps.toml** (server):
206+
```toml
207+
bindPort = 7000
208+
vhostHTTPPort = 80
209+
vhostHTTPSPort = 443
210+
```
211+
212+
**frpc.toml** (client, frp 0.67+):
213+
```toml
214+
serverAddr = "YOUR_FRP_SERVER_IP"
215+
serverPort = 7000
216+
217+
[[proxies]]
218+
name = "api-http"
219+
type = "http"
220+
localIP = "127.0.0.1"
221+
localPort = 80
222+
customDomains = ["api.easyrelocate.net"]
223+
224+
[[proxies]]
225+
name = "api-https"
226+
type = "https"
227+
localIP = "127.0.0.1"
228+
localPort = 443
229+
customDomains = ["api.easyrelocate.net"]
230+
```
231+
198232
Once the DNS for `api.easyrelocate.net` points to your FRP server and the tunnel is active,
199233
visit:
200234
- `https://api.easyrelocate.net/api/health`
@@ -248,6 +282,14 @@ At minimum:
248282
### CORS errors in browser console
249283
- Set backend `CORS_ALLOW_ORIGINS` to include your frontend origin(s).
250284

285+
### CORS errors from Chrome extension (blocked by CORS)
286+
- Add your extension origin to `CORS_ALLOW_ORIGINS`:
287+
- `chrome-extension://<EXTENSION_ID>`
288+
- Example:
289+
```text
290+
CORS_ALLOW_ORIGINS=https://easyrelocate.net,https://www.easyrelocate.net,chrome-extension://cgghcabahinelloofmjkjfkiafpphlpj
291+
```
292+
251293
## Local vs cloud DB (dev convenience)
252294

253295
If you want to keep both DB URLs in one `.env`, you can set:

0 commit comments

Comments
 (0)