ABRA Flexi/Flexibee: Instalace serveru verze 2023.3 na Ubuntu 20.04 v Docker kontejneru

FlexiBee-DockerÚčetní systém Flexi/Flexibee společnosti ABRA používám řadu let. Od nasazení ve virtuálním serveru až po kontejnery Docker nebyl s instalací ani upgradem žádný problém.

To se změnilo s verzí 2023.3. Vydavatel v popisu změn poukazuje na aktualizaci databázového systému na serverech s operačním systémem linux. Nicméně to není jediná důležitá změna. Tou druhou je potřeba systemd. Pokud chceme používat předchozích verze, nemusí být tato podmínka splněna. Systemd ale nelze momentálně spustit v běžném kontejneru Docker.

Bohužel ani rok po vydání Ubuntu 22.04 není provoz databázového systému na této verzi Ubuntu možná. Důvodů je několik:

  • Podporovaná Java verze 8, proklamovaná možnost instalace s Java 11 není bohužel možná a nelze ji provést;
  • databázový systém Postgresql 10 – 13, instalovaná verze 14 není s Flexibee kompatibilní.

A protože používám Docker, strávil jsem nad řešením problémů s instalací celou noc.

Můj popis instalace nebude nikterak obsáhlý. Případným zájemcům však může ukázat cestu a ušetřit drahocenný čas.

Hostitelský linux

Místo upgrade, který nefunguje, jsem zvolil novou instalaci. To ze dvou důvodů: postgresql < 14, jre = 8.

Aby bylo možné v kontejneru provozovat systemd, je potřeba startovat jádro hostitelského systému (v mém případě Arch Linux) s parametrem systemd.unified_cgroup_hierarchy=0. Pokud používáme GRUB, je nastavení jednoduché:

Po spuštění grub-mkconfig -o /boot/grub/grub.cfg restartujeme Ubuntu.

Docker kontejner Ubuntu 20.04

Jako obraz Ubuntu se systemd je možné použít jrei/systemd-ubuntu.

Kontejner se bude jmenovat flexibee. Po jeho vytvoření zůstane spuštěn na popředí. Proto je vhodné otevřít druhý terminál pro pokračování v instalaci.

Spuštění kontejneru provádíme příkazem docker start flexibee, vypnutí příkazem docker stop flexibee.

Instalace závislostí a nastavení prostředí

Ve druhém terminálu se připojíme ke kontejneru flexibee:

Při instalaci balíčku Flexibee dojde k instalaci potřebných závislostí, nicméně je potřeba provést nastavení prostředí – lokalizaci.

V souboru /etc/locale.gen povolíme cs_CZ.UTF-8 a změny zapíšeme:

Nyní je potřeba se z kontejneru odhlásit a znovu přihlásit.

Instalace Flexibee

V kontejneru je po přihlášení nutné ručně stáhnout instalační balíček a provést jeho instalaci:

Bude staženo a nainstalováno opravdu velké množství závislostí, které ale pro provoz serveru potřeba nebudou.

Po instalaci Flexibee se bohužel nezobrazil dialog pro výběr typu provozovaná instance, a proto je v souboru /etc/default/flexibee nutné nastavit FLEXIBEE_CFG=server.

Po restartu kontejneru by měl server fungovat bez problému.

Pokud se provádí obnova zálohy, je nutné nejdříve nainstalovat verzi Flexibee, ve které byla záloha provedena, až následně poslední dostupnou verzi Flexibee.

Bash aliasy pro ovládání

Pro jednodušší ovládání z příkazové řádky jsem si vytvořil aliasy. Jejich nastavení se provádí v souboru ~/.bashrc:

Závěr

Jak už to bývá, popis vypadá poměrně jednoduše, ale dopracování se k funkční instalaci trvalo jednu bezesnou noc. Tak snad to někomu pomůže…

Leave a Reply