WebUI Konsolenfehler nach docker start

Hi,

ich habe erfolgreich in meiner Linux VM die Container gestartet bekomme jetzt aber eine weiße Seite.

Hatte den Fehler schonmal jemand bzw. weiß was getan werden muss?

VG

Hallo @EvilWatermelon

Wie sieht denn die Konfiguration deiner docker-compose.yml aus?
Möglicherweise ist hier folgende Umgebungsvariable falsch gesetzt:

  environment:
    - WEBAPI_URL=

Diese sollte auf die URL gesetzt werden, unter der deine VM vom Client/Browser aus erreichbar ist.

Wenn du deine VM z.B. via 10.0.2.20 erreichst und du via http (8081/TCP) von deinem Browser aus zugreifen willst, muss dort - WEBAPI_URL=http://10.0.2.20:8081 eingetragen sein.

Hi,

die Variable habe ich so gesetzt aber ich komme nur über localhost:80 auf das webui und über 8081 bekomme ich direkt einen 404.

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
    - POSTGRES_PASSWORD=ip2LmNzXX8p8iXg9lZTWEJ9524kQDbXFudB7LR03T-xK9fLweX3TLMkA2AYcEiaS
app:
  build: app
  hostname: app
  links:
    - db:db
    - rabbitmq:rabbitmq
    - search:search
  expose:
    - "8282"
    - "61616"
    - "8788"
  restart: always
  volumes:
    - ./volumes/app/log:/opt/metasfresh/log:rw
    - ./volumes/app/heapdump:/opt/metasfresh/heapdump:rw
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
  environment:
    - METASFRESH_HOME=/opt/metasfresh
webapi:
  build: webapi
  links:
    - app:app
    - db:db
    - rabbitmq:rabbitmq
    - search:search
  expose:
    - "8789"
# to access the webui-api directly
# (eg. for debugging or connecting your app to the metasfresh api)
# uncomment following port:
  ports:
    - "8080:8080"
  restart: always
  volumes:
    - ./volumes/webapi/log:/opt/metasfresh-webui-api/log:rw
    - ./volumes/webapi/heapdump:/opt/metasfresh-webui-api/heapdump: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://localhost:8081
rabbitmq:
  build: rabbitmq
  expose:
    - "5672"
  restart: always
  volumes:
    - ./volumes/rabbitmq/log:/var/log/rabbitmq/log
    - /etc/localtime:/etc/localtime:ro
    - /etc/timezone:/etc/timezone:ro
  environment:
    RABBITMQ_DEFAULT_USER: "metasfresh"
    RABBITMQ_DEFAULT_PASS: "metasfresh"
    RABBITMQ_DEFAULT_VHOST: "/"
search:
  build: search
  ulimits:
    memlock:
      soft: -1
      hard: -1
    nofile:
      soft: 65536
      hard: 65536
  cap_add:
    - IPC_LOCK
# to access the search api directly
# (e.g. if you did docker-compose up search to have the deachboard with your locally running metasfresh services)
# uncomment following ports:
  ports:
    - "9200:9200"
    - "9300:9300"
  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

Hi @EvilWatermelon

In diesem Teil sollte die URL mitsamt port stehen, die du in der Sektion ports: definiert hast.

Läuft der Server tatsächlich auf localhost? Also auf dem gleichen host, mit dem du auch via Chrome/Firefox datauf zugreifst?

In der Regel hat sich bewährt z.B. in einer Testumgebung eine Virtualbox VM mit einem Ubuntu 20.04 Server LTS (ohne GUI) zu installieren, auf dem metasfresh läuft.
Die VM (Gastsystem) wird dann via Networking in der Virtualbox Oberfläche mit dem Wirtssystem verbunden und bekommt eine IP zugewiesen, mit der dein Wirtsystem/Host auf die VM zugreifen kann.

Diese IP sollte dann im environment: Teil stehen. ( siehe How to set up the metasfresh stack using Docker? im Schritt 2)