This manual describes the installation of the following services according to this overview:
|RAM||4 GB||8 GB (increases with db size)|
|CPU||1 VCPU||4 VCPU|
|HDD||10 GB||20 GB|
|OS Recommendation||Linux server||Ubuntu 22.04|
Install Docker and Docker Compose plugin via the official Docker repository.
Clone the metasfresh-docker folder and change into the newly created directory.
git clone https://github.com/metasfresh/metasfresh-docker.git cd metasfresh-docker/
docker-compose.ymland adapt it as you need it.
Note: You will find an example for this at the end of this guide.
http://example.com:8080 and replace
example.com:8080 with the URL and port, where the server should be reachable from the browser.
... environment: - WEBAPI_URL=http://example.com:8080 ...
:8080is only necessary if another port should be used as port 80.
See also: How do I change the WebUI ports for metasfresh-Docker?
|If you are using an RPM-based distribution and/or the file
Create the Docker containers.
Now you can start and stop docker with the folowing commands:
#start# docker-compose up -d #stop# docker-compose down
Note: The first time you start the container, it may take a few minutes until the database is populated and the service is available.
After successful installation you can access the WebUI via:
http://example.com:PORT(if the default port is not 80).
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" 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
If you want to make the reports contained in the metasfresh app Docker image editable, you first have to move them outside as a volume in the
# Added new reports volume to be able to # to customize the Jasper Reports files 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
|This is where the compiled Jasper files are located of course. So to change the reports you first have to pull the repository with the sources of the reports and then compile them with Jasper Reports.|
See this forum post about this topic for recommendations on two widely used tools.
If you have any questions or problems, feel free to ask for support in our official public forum: