Docker Produktivumgebung

Am schnellsten ist EGOCMS mit Hilfe der EGOTEC Docker Images und einer Docker Compose Umgebung installiert.

Docker-Compose installieren

Zunächst müssen docker und docker-compose installiert werden.

Anleitung für Ubuntu: https://docs.docker.com/engine/install/ubuntu/ 

Projekt exportieren

Beim EGOTEC Support kann ein Login für Gitlab beantragt werden, falls dieser noch nicht vorhanden ist.

Das Projekt kann direkt aus dem EGOTEC Gitlab https://git.egotec.cloud exportiert werden.

Danach müssen noch die Berechtigungen für den Docker Container auf den shared folder gesetzt werden.

cd PROJEKTNAME
chown -R 1000:1000 .

Docker-Compose Konfiguration

Verwenden Sie hierzu die var/docker/docker-compose-prod.yml Konfigurationsdatei.

version: '2' services: mariadb: image: mariadb:10.6 environment: - MYSQL_ROOT_PASSWORD=demo - MYSQL_DATABASE=egocms - MYSQL_USER=egocms - MYSQL_PASSWORD=demo ports: - 3306:3306 volumes: - mariadb:/var/lib/mysql command: mysqld --sql_mode="STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION" elasticsearch: image: registry.git.egotec.cloud/egocms/docker/elasticsearch:7.17 ulimits: nofile: soft: 65536 hard: 65536 volumes: - elasticsearch:/usr/share/elasticsearch/data egocms: image: registry.git.egotec.cloud/egocms/docker/ubuntu:22.04 depends_on: - mariadb - elasticsearch - mailhog ports: - 80:80 - 443:443 command: bash /start.sh volumes: - ./:/usr/share/nginx/egocms volumes: mariadb: driver: local elasticsearch: driver: local

Docker-Compose Umgebung starten: docker-compose -f var/docker/docker-compose-prod.yml up -d

EGOCMS Konfiguration

In der EGOCMS Konfigurationsdatei var/conf/conf.ini müssen die Datenbank- und Mailserververbindung angepasst werden.

Haben Sie das Projekt direkt aus dem EGOTEC Subversion Repository exportiert, dann können Sie die Datenbankverbindung übernehmen. Die Mailservereinstellungen müssen aber geändert werden, da im Repository die Verbindung zu Mailhog eingetragen ist. Dieser Mailserver wird in der Entwicklung zum testen eingesetzt. Er versendet keine Mails!

Folgende Änderungen müssen vorgenommen werden:

Datenbank

[db]
host="mariadb"
user="egocms"
password="MYSQLUSERPASSWORD"
database="egocms"
log_select="0"
log_select_timeout="0.01"

Mailserver

[mail]
local_sendmail=""
smtp_auth=""
smtp_server="mailhog"
helo_host=""
smtp_auth_username=""
smtp_auth_password=""
smtp_port="1025"
smtp_secure="no"
lock_max_mails="100"
lock_timespan="1"

Bootstrap

Ggf. den freigegebenen Port 80 auf einen anderen Port umlegen.

Im Bootstrap werden das EGOCMS System geladen und die Daten eingespielt.

docker exec PROJEKNAME bash /bootstrap.sh

SSL Zertifkat

Das SSL Zertifikat muss über einen shared folder eingebunden werden.