Od Cloudflare-a do NixOS-a: Naš put ka self-hostingu


www.bring-out-ba.uk => www.bring.out.ba

U produkciji koristimo Cloudflare tunel servise. U tu svrhu koristimo uk domen1.

Kada smo se upoznali sa Cloudflare servisima, postavili smo našu stranicu na Cloudflare (redirect https://www.bring.out.ba => https://www.bring-out-ba.uk). To je bio više eksperiment da se bolje upoznamo sa njihovim baznim CDN servisom.

Ono što je ružno za posetioca stranice, jeste da završi na .uk stranici i logično se pita: Gdje ovi rade? Jesu li oni iz Bosne ili iz UK?

Naša sistemska infrastruktura: Linux NixOS serveri

Juče je Cloudflare globalno “pao”. To nam je bio motiv da pitanje naše web stranice riješimo kako većina naših servisa radi: self-hostiranjem.

Podigli smo na Oracle cloud-u jednu malu virtuelnu mašinu (interesantno da smo prvi put odabrali Ampere ARM infrastrukturu)2.

Evo naše NixOS konfiguracije:

Nix konfiguracija ora3 host

Nix konfiguracija nginx www.bring.out.ba

Zašto Nix/NixOS, zašto ne standardni Docker kontejneri?

Nix programski jezik omogućava programiranje sistema. Krajnje moćna stvar.

Standardni način isporuke servisa su Docker kontejneri. Problem korištenja Docker kontejnera na način kako ga većina koristi je održavanje tih kontejnera.

Odoo 16 “bring.out”

Ovo je zadnji Docker image Odoo 16.0 od strane Odoo S.A.

Ako obratite pažnju na detalje, primjetićete da je Docker 16.0 na starom OS-u i da su Python paketi zastarjeli. Odoo S.A. je u skladu sa svojim politikama održavanja verzija izbacio iz glavnog repozitorija Docker 16 kontejnere3.

Naše Odoo instalacije “vrte” se na ažurnim verzijama Pythona i 3rd-party biblioteka, ponajviše zahvaljujući NixOS-u.


Footnotes

  1. Ovaj domen smo zakupili zbog niske cijene. Godišnja cijena zakupa ovog domena je 5 USD.

  2. Ponovo, razlog je cijena. ARM VM-ovi su značajno povoljniji nego AMD64 VM-ovi. Za istu cijenu nude puno jače resurse CPU/Memorija.

  3. Na master branch nema Docker 16.