Docker ftw..

Docker ftw..

După cum scriam aici 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 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 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.