@@ -187,14 +187,48 @@ Check:
187187docker 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
194199On 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+
198232Once the DNS for ` api.easyrelocate.net ` points to your FRP server and the tunnel is active,
199233visit:
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
253295If you want to keep both DB URLs in one ` .env ` , you can set:
0 commit comments