Fast Api Now
Tak jsem přepsal tenhle pidi blogísek do Fast Api a rovnou k tomu přidal Nginx jako reverse proxy. Ten podle domény buďto pošle na repo, nebo na blog. Zároveň servíruje statiku, takže se tím Python nemusí zatěžovat. V neposlední řadě filtruje nemilé requesty dřív, než se dostanou k aplikaci. A taky jsem zapl gzip, takže to Nginx posílá prohlížečům zabalené. Nějaká úspora tam je, ne že ne.
Fast Api si lépe poradí s mým taháním externích věcí z Codebergu, kde mám gymlog a také odtud sbírám celkovou aktivitu.
Další perk je automatická dokumentace. Tu zatím neužiji, ale kdo ví, co bude. Aplikaci teď spouštím přes Gunicorn a vrátil jsem v nastavení systemd dva workery. Uvidím, jak se to bude chovat, ale zatím to nechám.
Další drobnosti
- blog i repo obět běží jako systemd service, takže kdyby malina náhodou chcípla, po zapnutí se vše nahodí zpět
- kofiguráky pro nginx a systemd jsem si přidal do projektu a nastavil symlinky, ať to mám v záloze
- přesunul jsem env vars do
.enva ze systemd na něj jen odkazuji - zipuji
HTML,CSSaJSONdata před odesláním - obrázky a styly obsluhuje nginx
Budoucnost Maliny
Btw malina je Raspberry Pi, na které mi to všechno běží. Mám jen starší, dvojkovou potvůrku na učení. Až bude potřeba silnější stroj, pořešíme. Teď to bohatě stačí.
Další kroky, které plánuji:
- Údržba infra přes Ansible.
- GitOps/Docker - šoupnu blog do kontejneru.
- Automatizace přes Codeberg a Woodpecker.
Starý Mac
Oprášil jsem můj legacy MacBook, na kterém byl Ubuntu server a nainstaloval tam Debian. Možná to ještě všechno přesunu z maliny na něj. Nebo jej zapojím jinak, ještě uvidím.
Edit: Hned jak jsem tenhle článek vyvěsil a přečetl ho, tak jsem si to nastavení rozmyslel :D
Vyhodil jsem 2 workery a gunicorn. Na embedded ARM je přeci jen lepší optimalizovat architekturu a nevymýšlet mikro-performance triky.