Diese Anleitung beschreibt die Installation der folgenden Dienste gemäß dieser Übersicht:
Mindestens | Empfohlen | |
---|---|---|
RAM | 4 GB | 8 GB (steigt mit Größe der Datenbank) |
CPU | 1 VCPU | 4 VCPU |
HDD | 10 GB | 20 GB |
OS Empfehlung | Linux Server | Ubuntu 22.04 |
Installiere Docker über das offizielle Docker Repository und anschließend das Docker-Compose-Plugin.
Klone den metasfresh-docker Ordner und wechsle in das neu erstellte Verzeichnis.
git clone https://github.com/metasfresh/metasfresh-docker.git
cd metasfresh-docker/
docker-compose.yml
und passe diese so an, wie du es benötigst.
Hinweis: Ein Beispiel dafür findest Du am Ende dieser Anleitung.
Kommentiere environment
und http://example.com:8080
ein und ersetzte example.com:8080
durch die URL und den Port, unter denen der Server vom Browser aus erreichbar sein soll.
...
environment:
- WEBAPI_URL=http://example.com:8080
...
Hinweis: Port
:8080
wird nur benötigt, wenn ein anderer als Port 80 verwendet werden soll.
Siehe hierzu auch: Wie ändere ich die WebUI-Ports für metasfresh-Docker?
WICHTIG: |
---|
Solltest Du eine RPM-basierende Distribution einsetzen und/oder auf Deinem Host die Datei /etc/timezone nicht vorfinden, lösche oder kommentiere die Zeile - /etc/timezone:/etc/timezone:ro aus deiner docker-compose.yml aus! |
Erstelle die Docker Container.
docker-compose build
Mit folgenden Befehlen kann Docker gestartet und wieder gestoppt werden.
#starten#
docker-compose up -d
#stoppen#
docker-compose down
Hinweis: Beim ersten Start kann es ein paar Minuten dauern, bis die Datenbank initialisiert und die Services verfügbar sind.
Nach erfolgreicher Installation kannst Du hierüber auf das WebUI zugreifen:
http://example.com/
oder
http://example.com:PORT
(falls der Standard-Port nicht 80 ist).db:
build: db
restart: always
volumes:
- ./volumes/db/data:/var/lib/postgresql/data
- ./volumes/db/log:/var/log/postgresql
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
- METASFRESH_USERNAME=metasfresh
- METASFRESH_PASSWORD=metasfresh
- METASFRESH_DBNAME=metasfresh
- DB_SYSPASS=System
app:
build: app
hostname: app
links:
- db:db
- search:search
expose:
- "8282"
- "61616"
#for accessing the api directly (eg. for debugging or connecting your
#app to the metasfresh app server and java client can access rabbitmq) uncomment following lines:
#ports:
# - "8282:8282"
# - "61616:61616"
restart: always
volumes:
- ./volumes/app/log:/opt/metasfresh/log:rw
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
- METASFRESH_HOME=/opt/metasfresh
webapi:
build: webapi
links:
- app:app
- db:db
- search:search
#for accessing the api directly (eg. for debugging or connecting your
#app to the metasfresh api) uncomment following lines:
#ports:
#- "8080:8080"
restart: always
volumes:
- ./volumes/webapi/log:/opt/metasfresh-webui-api/log:rw
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
webui:
build: webui
links:
- webapi:webapi
ports:
- "80:80"
- "443:443"
restart: always
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
#uncomment and set to URL where metasfresh will be available from browsers
environment:
- WEBAPI_URL=http://myserver.com
search:
build: search
ulimits:
memlock:
soft: -1
hard: -1
nofile:
soft: 65536
hard: 65536
cap_add:
- IPC_LOCK
volumes:
- ./volumes/search/data:/usr/share/elasticsearch/data
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
- "ES_JAVA_OPTS=-Xms128M -Xmx256m"
restart: always
Möchte man die Reports, welche im metasfresh App-Docker-Image enthalten sind, editierbar machen, so muss man diese im docker-compose.yml
zuerst als Volume nach außen legen.
# Neues Volume reports hinzugefügt, um die Jasper
# Reports Dateien anpassen zu können
volumes:
- ./volumes/app/reports:/opt/metasfresh/reports:rw
- ./volumes/app/log:/opt/metasfresh/log:rw
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
ACHTUNG: |
---|
Hier liegen natürlich die kompilierten Jasper-Dateien. Man muss sich also zum Ändern der Reports zuerst das Repository mit den Quellen der Reports ziehen und dann mit Jasper Reports kompilieren. |
In diesem Forumsbeitrag (auf Englisch) über dieses Thema werden zwei weit verbreitete Tools empfohlen.
Bei Fragen oder Problemen kannst Du uns gerne in unserem offiziellen Forum um Unterstützung bitten: