Beiträge von Tobias
-
-
Noch eine Notiz als Todo
Upgrade im Container funktioniert nicht da weder sudo noch git im Container installiert wird.
Trotzdem braucht man dann eine Routine um mit dem neuen Image den Upgrade Prozess triggern kann.
Die aktuelle Version ist 1.9
Auf Github ist die letzte Version 1.8. Fehlt hier noch das Release?
-
Ich habe in der dev Umgebung MariaDB 10.11.2
OpenXE/systemhealth.php at d9ff872a983e684e4db658fc8bfe29790724533f · OpenXE-org/OpenXEOpenXE - Free Open Source ERP based on Xentral. Contribute to OpenXE-org/OpenXE development by creating an account on GitHub.github.comKann es sein, dass die Zeile ein false positive erzeugt bei 10.11.2?
DB-Version: [Blockierte Grafik: https://openxe-dev.amperios-vp…ges/health-message@2x.png] MariaDB 10.1 ! DB-Version ab 20.2: [Blockierte Grafik: https://openxe-dev.amperios-vp…ges/health-message@2x.png] Ab Xentral 20.2 benötigen Sie mind. MySQL 5.7 / MariaDb 10.2 (aktuell MariaDB 10.1). ! -
-
Ich habe es ausprobiert. Funktioniert
Schneller und kleiner ist ein Mythos
[+] Building 112.4s (24/24) FINISHED alpine
[+] Building 53.6s (6/6) FINISHED bios
Code: docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE openxe latest 3a2fbb4eb5f8 25 minutes ago 2.73GB bios/openxe V.1.7 ff19c97955eb 2 months ago 756MB
Cron würde ich als Sidecar oder von extern triggern. Mehrere Daemons in einem Container widerspricht dem Konzept von Docker. Das trifft auch auch den supervisord zu. Für was einen weiteren Prozess der keine Funktion hat außer den eigentlichen Prozess zu wrappen?
SSL Proxy ist kein Problem. Getestet mit HaProxy und Kubernetes Nginx Ingress.
Den einzigen Bug den ich bisher gesehen habe ist, dass beim Logout ein 302 Redirect passiert der zwar noch auf https geht aber plötzlich port 80 in der URL hat -> location: https://devhost:80/www/index.php -
Vailder Punkt Bin nicht mehr dazu gekommen den Merge Request zu erstellen.
Ich hatte es aufgeteilt in ein base image und in eins mit der eigentlichen app.Hier zur Vollständigkeit:
Code: base imageARG PHP_VERSION FROM php:${PHP_VERSION}-apache RUN apt update && apt-get install -y unzip wget zlib1g-dev libzip-dev libc-client2007e-dev libc-client-dev libkrb5-dev libxml2-dev libpng-dev libldap-dev && rm -r /var/lib/apt/lists/* RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl && docker-php-ext-install zip mysqli imap soap gd ldap intl RUN curl -fsSL "https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz" -o ioncube.tar.gz && \ tar -xvvzf ioncube.tar.gz && \ mv ioncube/ioncube_loader_lin_8.1.so `php-config --extension-dir` && \ rm -Rf ioncube.tar.gz ioncube && \ docker-php-ext-enable ioncube_loader_lin_8.1.so RUN printf 'ServerTokens Prod\nServerSignature Off\nTraceEnable Off\n' > /etc/apache2/conf-enabled/security.conf && \ printf 'expose_php = off' > /usr/local/etc/php/conf.d/secure.ini
Docker: appFROM bios/openxe-base ARG TAG RUN cd /var/www && \ curl -L -o /var/www/openxe.zip https://github.com/OpenXE-org/OpenXE/archive/refs/tags/${TAG}.zip && \ unzip openxe.zip -x "OpenXE-*/userdata/wiki/XentralHandbuch/*" && \ rm -f openxe.zip && \ rm -rf /var/www/html && \ mv OpenXE-* html && \ chown -R www-data:www-data html RUN curl -s https://raw.githubusercontent.com/OpenXE-org/OpenXE/ce11caac120a515d9c792839a690f353762b1643/www/setup/setup.php > www/setup/setup.php
Pack die Alpine Version mal mit rein oder stelle gleich einen Merge Request dann haben wir eine einheitliche Basis
-
Das Dockerfile liegt hier: https://github.com/tsgoff/docker-openxe/blob/main/Dockerfile
Also Basis verwende ich ein zweites Dockerfile bios/openxe-base mit php:8.1-apache in dem die Dependencies installiert werden damit der Build für OpenXE nicht so lange dauert.
Mir fehlt noch eine Lösung wie man am besten mit dem Config Ordner umgeht. Wenn man ihn direkt mountet ist der bei einer Installation leer und das Template fehlt. Da müsste man noch ein entrypoint script mit der Logik hinterlegen für neue bzw. bestehende Installationen. Wenn ich Zeit habe und mir was passendes einfällt erstelle ich einen PR.
-
Um OpenXE schnell lokal zu starten habe ich für den Tag 1.7 ein Docker Image gebaut.
Mit Docker Compose kann man eine MariaDB und OpenXE 1.7 Instanz lokal starten. http://localhost:8282/www/setup/setup.php
bios/openxe:V.1.7
Code: Docker Quickstartgit clone https://github.com/tsgoff/docker-openxe.git && \ cd docker-openxe && \ docker compose up
Aktuell wird nur der Datenbank und der userdata Ordner lokal gemountet.
Auf Kubernetes läuft das Konstrukt ebenfalls.
Wird der OpenXE Container gekillt und neu erstellt muss man conf/user.inc.php manuell neu erstellen.
-