Architecture
Single-server platform that automatically publishes blog content daily using AI.
System Overview
graph TB
Internet((Internet)) --> Caddy["Caddy<br>TLS & Routing"]
Caddy --> Ghost["Blogging Platform<br>(Ghost CMS)"]
Caddy --> n8n["Automation<br>(n8n)"]
Caddy --> MCP["MCP Services"]
Caddy --> Mon["Monitoring"]
Blogging Platform (Ghost CMS)
Three Ghost blogs backed by a shared MySQL database. Content is created automatically via the MCP API or manually through Ghost Admin.
graph TB
Admin["Ghost Admin<br>(browser)"] --> cam4["Cam4 Blog"]
Admin --> cam4m["Cam4Models Blog"]
Admin --> cam4p["Cam4Pays Blog"]
gmcp["Ghost MCP<br>(API)"] --> cam4
gmcp --> cam4m
gmcp --> cam4p
cam4 --> MySQL[("MySQL<br>3 databases")]
cam4m --> MySQL
cam4p --> MySQL
Automation (n8n)
n8n runs daily workflows that exec into Claude Code runner containers. Each runner uses MCP servers to research topics, generate content, create images, and publish to the correct Ghost blog.
graph LR
n8n["n8n"] -. "docker exec" .-> R1["Claude Runner<br>(Cam4)"]
n8n -. "docker exec" .-> R2["Claude Runner<br>(Cam4Models)"]
n8n -. "docker exec" .-> R3["Claude Runner<br>(Cam4Pays)"]
R1 --> MCP["MCP Servers"]
R2 --> MCP
R3 --> MCP
MCP --> ghost["Ghost MCP<br>→ publish posts"]
MCP --> reddit["Reddit MCP<br>→ research topics"]
MCP --> runware["Runware MCP<br>→ generate images"]
MCP --> playwright["Playwright MCP<br>→ scrape the web"]
MCP --> twitter["Twitter MCP<br>→ social media"]
MCP --> stockimages["Stock Images MCP<br>→ stock photos"]
MCP --> memes["Memes MCP<br>→ meme generation"]
See n8n Automation for pipeline details and schedules.