DO + FRP + Optional Tailscale (Merged Deployment)
February 22, 2026 ยท View on GitHub
This repo keeps one codebase and one auth/metadata system, with heavy work offloaded.
Before manual edits, you can generate mode-specific env files with:
./scripts/install.sh
Flow:
Client -> DO API -> FRP -> local executor -> DO API -> Client
DO server (lightweight)
Set in backend/.env:
TRACKER_ENABLED=false
TRACKER_PROXY_HEAVY_OPS=true
TRACKER_DESKTOP_URL=http://127.0.0.1:7001
TRACKER_PROXY_TIMEOUT=120000
PROCESSING_DESKTOP_URL=http://127.0.0.1:7001
Apply remotely with:
./scripts/set-do-tracker-proxy.sh
Local executor (heavy jobs)
Set in local backend/.env:
TRACKER_ENABLED=true
TRACKER_PROXY_HEAVY_OPS=false
Start local services:
cd backend
npm run processing
Optional Tailscale support
If FRP is tunneled through Tailscale, enable:
TAILSCALE_ENABLED=true
TAILSCALE_DESKTOP_URL=http://100.x.y.z:7001
When PROCESSING_DESKTOP_URL is not set, backend will use TAILSCALE_DESKTOP_URL.
Verify offload
./scripts/verify-frp-offload.sh
Checks:
- DO API local health
- FRP target health from DO
- Public tracker status
- DO log mode showing scheduler disabled for tracker