DEV Community

Stephan Joachim Augustin
Stephan Joachim Augustin

Posted on

Building a WP Provisioning Engine with Node.js, Dockerode, and BullMQ

Most "Managed WordPress" hosts are just UI wrappers around the same old third-party scripts. We decided to take a different path. We're building SyndockEngineโ€”a proprietary provisioning layer with zero third-party dependencies.

We just hit a major milestone: The first heartbeat. ๐Ÿš€

The Stack
Weโ€™ve unified the entire infrastructure lifecycle under one language: TypeScript.

Runtime: Node.js + Fastify (for high-performance API scaffolding)

Orchestration: Dockerode (direct interaction with the Docker socket)

Job Queue: BullMQ + Redis (handling the heavy lifting of container lifecycle)

ORM: Prisma (managing Instance, Metric, and BackupRecord schemas)

The Architecture: Infrastructure That Thinks
SyndockEngine isn't just about spinning up containers; it's about shifting intelligence from the application layer to the infrastructure layer.

Why we moved away from the standard WP stack:

EloCache: We run caching at the Nginx layer, not inside PHP. No more "Performance Plugins" slowing down the execution thread.

EloShield: Security runs outside the WordPress container. An attacker can't disable a firewall they can't see.

EloSEO: We generate sitemaps by querying MySQL directly. No PHP requests, no overhead, just raw data.

The First Deploy: Whatโ€™s Live Now?
Fastify Server: Running in strict mode.

Dockerode Integration: Fully connected to the socket for native container control.

Prisma Migrations: Database schema for multi-tenant management is live.

Hardened Security: Auth middleware with token validation and IP allowlisting (restricted to the panel server).

Health Check: GET /api/v1/server/health โ†’ { status: "ok" }.

Whatโ€™s Next?
Sitting alongside the engine is SyndockOS. Itโ€™s the "Brain" that reads every container log in real-time, running autonomous healing playbooks. Our goal is to resolve 97% of infrastructure issues before a human even thinks about opening a support ticket.

Weโ€™re building this in public. If you've ever dealt with the "black box" of managed hosting, I'd love to hear your thoughts on this architecture.

typescript #nodejs #docker #wordpress #buildinpublic #devops

Top comments (0)