Multi-VPS CI Topology — Routing Woodpecker Builds with Agent Labels
When managing self-hosted infrastructure on budget virtual private servers, a single-server topology quickly runs into resource bottlenecks. Running a Git repository (Forgejo), issue tracker (Plane), reverse proxy (Traefik), and portfolio web server on one machine leaves little memory or CPU headroom for resource-intensive CI/CD builds.
If an automated continuous integration pipeline starts compiling heavy TypeScript bundles, running Playwright browser tests, or building Docker images on the same server, web traffic will experience severe latency spikes. To resolve this, we architected a distributed dual-VPS topology powered by Woodpecker CI agent routing.
Our platform divides responsibilities across two dedicated virtual servers. VPS 1 (Primary / Origin) hosts user-facing services: Traefik edge routing, Forgejo, Plane, and the Woodpecker CI server control plane. VPS 2 (Infra / Runner) is dedicated exclusively to pipeline execution, hosting high-performance Docker runtimes and ephemeral build containers.