Ide o komunitný návod, nie oficiálnu dokumentáciu ABRA Flexi. Z našej strany v takomto prípade nezaručujeme, že je postup funkčný.
Autor: Tomáš Valoušek
Táto konfigurácia je navrhnutá pre prostredie Docker Swarm, ktoré využívame na našich serveroch, ale mala by byť plne kompatibilná aj s Docker Compose. FlexiBee a databáza PostgreSQL 13 bežia v tom istom kontajneri, čo síce nie je ideálne z pohľadu dockerovej filozofie (jeden proces na kontajner), ale prevádzka databázy v samostatnom kontajneri by vyžadovala úpravy inštalačných skriptov FlexiBee. Tieto úpravy by síce boli jednorazovo realizovateľné, ale skomplikovali by proces pravidelných aktualizácií.
Ako na to?
1. Stiahnutie aktuálnej verzie FlexiBee
Stiahnite si aktuálnu verziu FlexiBee vo formáte „Univerzálny balíček pre Debian (Ubuntu) Linux“ z oficiálnej stránky.
Uložte súbor do adresára s konfiguračnými súbormi.
2. Konfigurácia
Nižšie je zoznam konfiguračných súborov, ktoré budete potrebovať upraviť alebo skontrolovať.
Docker konfiguračné súbory:
Dockerfile: Upravte názov stiahnutého inštalačného súboru FlexiBee.Makefile: Zjednodušuje build a nasadenie, ak používatemake.cron-backup: Denne vykonáva dump celej databázy a ukladá ho do volume pre jednoduché zálohovanie.default-flexibee: Konfigurácia pre FlexiBee, ktorá sa kopíruje do/etc/default/flexibee.docker-compose.yml: Skontrolujte názov a verziu image.docker-stack.yml: Dôkladne nastavte volumes pre perzistentné ukladanie dát. Táto konfigurácia je použitá v produkcii. FlexiBee prevádzkujeme na porte 55434. Dôležité je aj nastavenielocalesna cs_CZ.UTF-8!flexibee-server.xml: Konfigurácia kopírovaná do/etc/flexibee/flexibee-server.xml.pg_hba.conf: Konfigurácia prístupu k PostgreSQL.postgresql-flexibee.conf: Konfigurácia PostgreSQL kopírovaná do/etc/postgresql/13/flexibee/conf.d/postgresql-flexibee.conf.supervisord.conf:supervisordzaisťuje spustenie FlexiBee acronprocesu.
3. Build kontajnera
Spustite príkaz:
docker-compose build
4. Push image do repozitára
Na nahratie image do repozitára použite:
docker-compose push
5. Nasadenie kontajnera
Nasadenie aplikácie pomocou Docker Stack:
docker stack deploy -c docker-stack.yml flexibee
6. Ukončenie kontajnera
Na ukončenie a odstránenie služby (dáta zostanú zachované):
docker stack rm flexibee
7. Diagnostika
Beží kontajner?
docker ps -a | grep flexibee
Log kontajnera (ten je väčšinou prázdny, nič sa neloguje)
docker logs idkontejneru
Pripojenie do kontajnera
docker exec -it idkontejneru bash
ABRA Flexi
tail -f /var/log/flexibee.log
PostgreSQL
tail -f /var/log/postgresql/postgresql-13-flexibee.log
