# Docker ftw..

- Link: https://catalin.ro/docker-ftw/
- Published: 2023-06-17T12:59:11+03:00
- Author: Cătălin

După cum scriam [aici](http://wordpress-pixulwerm76pvbxqwgimdffc.194.105.10.86.sslip.io/bun-venit-ghost/)
acum aproximativ 5 luni, când am trecut de la WordPress către Ghost ca și platformă
de blogging, ei bine, de la momentul zero să zicem, acel moment din 7 ianuarie când
am trecut la Ghost.. vreau să zic că blogul meu a suferit multe schimbări de backend
să zic. Totul m-a dus către această parte de development, în special către Docker.

Inițial blogul meu era găzduit pe un server VPS, și așa aveam și încă am multe astfel
de servere mai mult sau mai puțin productive. Ei bine, pentru o perioadă acest blog
a fost sub acel VPS cu tot ce are nevoie platforma Ghost. Mergea bine, totuși evident
era un cost al serverului VPS, care la un moment am zis că nu este ok să-l mai suport.
Blogul a stat 12 zile pe acel VPS 🙂

Am renunțat la acel VPS, și surpriză, mi-am făcut un server acasă, local, am scris
și un tutorial [aici](http://wordpress-pixulwerm76pvbxqwgimdffc.194.105.10.86.sslip.io/cloudflared-proxmox-cea-mai-buna-solutie/)
despre această implementare, totul ok, însă chiar dacă acel server făcea mai mult
idle, fiindcă în afară de acest blog, nu prea avem mare lucru pe el, colac peste
pupăză, uneori se întâmpla să se mai „joace cu curentul electric” prietenii de la
CEZ, și deci mai era câte un downtime de 15-30 de minute, bine măcar că se întâmpla
foarte rar. Totuși fiind un om tipicar să zic, și căruia îi plac chestiile funcționale,
am zis că cel mai bine este să fac acest blog static files.. .html, .js, .css, și
tot ce avea nevoie blogul să fie servit ca static files, iar imaginile blogului 
sunt servite de pe unsplash.com, iar fișierele statice să fie găzduite gratuit în
Cloudflare Pages. Automatizat totul cu GitHub și niște scriptulețe pe care le aveam
local. Am scris [aici](http://wordpress-pixulwerm76pvbxqwgimdffc.194.105.10.86.sslip.io/ghost-static-github-cloudflare-pages/)
despre această automatizare..

Totul era ok, fără nicio problemă, însă.. când am decis să renunț la acel server,
care își făcea treaba cum trebuie, totuși singurul dezavantaj era acel downtime 
provocat din când în când de către CEZ, chiar dacă efectiv blogul nu mai avea downtime,
deodata ce-l exportam mereu în static files. Însă rămânea problema de fond, făcea
idle serverul, nu prea aveam ce mare lucru să folosesc pe el, așa că am decis să-
l mut într-un container Docker evident, că doar e cel mai bine așa.

Zis și făcut, am creat o imagine de docker pentru ghost, și încă o automatizare.
Deci, docker host-ul este la mine local, pe acel minipc care odată era server, acum
este pc principal, fiindcă Ubuntu 23.04 si orice varianta mai mică, nu acceptau 
docking station-ul pe care-l aveam legat la laptop, astfel încât să pot folosi monitoarele
toate pe același pc. Iar pentru minipc clar nu mai există această problemă, deodata
ce docking station-ul iese din schemă.. și am făcut o automatizare care-mi face 
automat backup într-un S3, extern pe care l-am legat la minipc, pentru toate containerele
docker. La fiecare articol scris pe acest blog, automat ruleaza un script care generează
fișierele statice, le dă push în GitHub, și de acolo se actualizează automat în 
Cloudrlare Pages.

Deci per ansamblu, automatizări peste automatizări.. și costuri, în afară de reînnoirea
anuală a numelui de domeniu, fix nimic altceva nu mă costă acest blog. 🙂

Deci Docker for the win.. Fiindcă pot face foarte multe proiecte locale, și le pot
transfera oriunde fără nicio problemă. Plus, dacă să zicem vreodată fișierele unui
site ar fi compromise, docker-ul fiind în sine un container, virușii n-au cum sa
afecteze orice alt fișier din afara acelui container.
