Skip to content
Studiu de caz · FB-Media (proiect intern) 2026

Cinci site-uri de știri în limba română. O singură pipeline. Zero personal după lansare.

Cinci site-uri de știri în limba română rulând pe un singur stack Docker, articole, layout-uri, distribuție, totul nesupravegheat după lansare.

1.200+

Articole publicate

5

Site-uri active

4

Teme personalizate

100%

Uptime de la lansare

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:

  1. 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.
  2. 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ă.

The tech

Tehnologii folosite

  • WordPress
  • Docker
  • MariaDB
  • N8N
  • Ollama
  • Claude
  • Cloudflare

Ce aș face altfel

Aș muta instanțele WordPress în spatele unui strat partajat de stocare obiect din prima zi. Directoarele de uploads per site au fost potrivite pentru v1, dar limitează scalarea orizontală odată ce un singur site susține trafic mare.

Vrei ceva similar pentru echipa ta?

Apel de descoperire de 30 de minute. Fără prezentare comercială. Discutăm despre ce vrei să livrezi, ce te încurcă și dacă te pot ajuta. Dacă da, primești o ofertă fixă într-o săptămână.