The Multi-Project Architecture: Running Your Entire Portfolio on One Server
The Multi-Project Architecture: Running Your Entire Portfolio on One Server
*What if you could run 10+ production projects — across different tech stacks — on a single affordable VPS with shared CI, email, and DNS? Here's the architecture.*
---
The Portfolio Problem
If you're a technical founder building multiple products, each project needs: hosting, CI/CD, a database, email, DNS, and SSL certificates. Multiply by 10 projects and you're managing 60+ services across a dozen providers.
Or you could put it all on one machine.
The Architecture
**Multiple projects** across any tech stack — Go, Rails, Next.js, Elixir, Python — all deploying to the same infrastructure:
Deployment
Every project follows the same pipeline:
```
git push → CI runs → Docker build → Push to registry → Deploy → Health check
```
CI runs on self-hosted runners (free — no hosted CI minutes billing). Deployment uses container orchestration with zero-downtime rolling updates.
A single reusable workflow handles all projects. Per-project config is just: service name, port, health check path, and optional migration command.
DNS & Email
Each project gets:
- **Subdomain**: `project.yourdomain.com` (wildcard A record)
- **Custom domain** (optional): pointed to the same server IP
- **Email**: Self-hosted mail server with per-project DKIM, SPF, DMARC — auto-configured
Database
- **PostgreSQL** with pgvector for AI embeddings
- Each project gets its own database on the shared instance
- High-traffic projects can be split to dedicated containers when needed
Monitoring
One dashboard shows health across all projects: deployment metrics, CI pipeline status, runner health, resource usage.
The Numbers
| Metric | Value |
|--------|-------|
| Monthly infrastructure cost | ~$50 |
| Projects hosted | 10+ |
| Custom domains | Unlimited |
| Email domains | Auto-configured per project |
| CI runners | Shared pool (self-hosted) |
| Average deploy time | < 3 minutes |
**Cost per project**: under $5/month. Compare that to $20-50/month per project on managed platforms.
What Makes This Sustainable
**Shared infrastructure, isolated projects.** Container orchestration provides service isolation. Each project runs in its own container with defined memory limits. A misbehaving project can't take down the others.
**AI-managed operations.** CI failures auto-diagnose. Deployments verify themselves. Email DNS configures through tool calls. The platform reduces operational overhead to near zero.
**Incremental onboarding.** New projects onboard in minutes: register, configure CI workflow, first deploy. No new infrastructure to provision.
When to Scale Out
One server handles 10+ projects because most are moderate-traffic. When a project grows:
1. **Vertical scaling**: Upgrade the server (cheap, immediate)
2. **Horizontal split**: Move high-traffic projects to dedicated nodes
3. **Hybrid**: Keep management on the hub, deploy compute-heavy projects to separate machines
The architecture supports all three without re-architecting.
Who This Is For
- **Solo founders** with a portfolio of products
- **Agencies** managing client projects
- **Small teams** who want one infrastructure to rule them all
- **Anyone** tired of paying per-project for commodity infrastructure
The economics are simple: one server replacing a dozen managed services pays for itself in the first month.
---
*FlukeBase powers multi-project portfolios on commodity hardware with AI-native orchestration. [See how at flukebase.me](https://flukebase.me)*