Context
Cinci site-uri de știri în limba română în trei nișe diferite (știri generale, sport, business) rulând una lângă alta de pe o singură gazdă Docker de 32GB. Brief-ul a cerut publicare zilnică, în română idiomatică, cu un buget operațional suficient de mic încât proiectul să nu necesite o singură angajare editorială după lansare.
Constrângerea care a modelat totul: nimeni din echipă nu scrie româna ca primă limbă. Așadar, pipeline-ul trebuia să producă text suficient de bun pentru a se citi ca al unui localnic, nu „tradus de AI”, nu „suficient de bun pentru o citire rapidă”.
Brief
- Cinci site-uri de știri, nișe și voci editoriale distincte.
- Doar limba română, dar pipeline-ul trăiește în engleză (operator).
- O singură gazdă Docker, pe o singură stație de lucru, fără factură cloud per site.
- 100% nesupravegheat după lansare, fără revizuire umană programată a articolelor generate.
- Temă personalizată per site, proiectată în Figma, construită ca temă WordPress de tip block.
- 12 luni de „100% uptime” ca bară de succes explicită.
Arhitectură
Un singur stack Docker Compose pe un Gaming PC care rulează WSL2 găzduiește tot, un MariaDB partajat, un Ollama partajat, un N8N partajat, plus un container WordPress + un container pipeline per site.
Backend-ul de generare a articolelor este pe straturi: Claude Sonnet (printr-un proxy local care înfășoară abonamentul Claude Code CLI, deci costul per articol este efectiv zero) este principalul; dacă proxy-ul depășește timpul sau returnează un răspuns malformat, pipeline-ul cade pe qwen3:14b pe Ollama. Fallback-ul rulează pe GPU-ul aceleiași stații de lucru, deci nu există niciodată un mod de eșec „ambele sisteme jos” decât dacă gazda în sine este offline.
Un strat mic Cloudflare stă în fața tuturor celor cinci site-uri: terminare TLS, cache de margine pentru asseturi statice și DNS.
Rezultate
- 1.200+ articole publicate pe cele cinci site-uri în primele luni după lansare.
- 100% uptime de la lansare, singurele întreruperi au fost reboot-uri planificate ale gazdei, niciodată ale pipeline-ului.
- Patru teme personalizate livrate din Figma, cu drift-ul tipografic dintre ele prins în v2 (vezi „Ce aș face altfel”).
- Zero personal editorial, fondatorul petrece sub 30 de minute pe săptămână pe consola operatorului.
- Cost per articol este limitat de abonamentul Claude Max pe care Fares îl plătește deja, fără cheltuieli API per articol.
Capturi de ecran
[FILL: înlocuiește cu capturi anonimizate ale consolei operatorului + o comparație side-by-side a două dintre cele patru teme personalizate. Evită capturi ale site-urilor publice, identitățile de brand sunt sensibile.]
Ce urmează
Două elemente pe lista pentru iterația următoare:
- Stocare obiect partajată, înlocuind directoarele de uploads WordPress per container. Arhitectura cu o singură gazdă limitează scalarea orizontală confortabilă la numărul actual de site-uri; un store partajat compatibil S3 (probabil Cloudflare R2) ar ridica acel plafon.
- Stiluri editoriale per limbă. Fiecare dintre cele patru teme împărtășește în prezent un singur prompt de ton-de-voce; promovarea prompt-ului la un ghid de stil per nișă ar permite site-urilor de sport și business să diveargă stilistic fără editare manuală.