Create a Test Environment for the Product Management Dashboard ™
The Product Management Dashboard app is provided as a Docker Image.
If you want to test the app on your machine, the best way in our opinion to do that is to set up two docker containers with the help of a docker-compose file. You can find information about how to install docker-compose here, e.g. simply by installing Docker Desktop on your system.
System Requirements
The docker environment, on which the following setup will be running, should have at least the following resources:
Minimal
-
2 CPU Cores
-
3 GB RAM
Recommended
-
4 CPU Cores
-
6 GB RAM
The required disk space varies depending on the size of documents you are planning to upload in the app. You should, however, plan with at least 5 GB for the instances.
Environment Parameters
Once you have Docker up and running, you can start by creating a file named dashboard.env in a dedicated folder.
The content could look like this:
APPLICATION_PORT=80
DB_USERNAME=db_user
DB_PASSWORD=db_password
MYSQL_HOST=proProdDb
MYSQL_PORT=3306
MYSQL_DB=pmBoard
INIT_USER_EMAIL=
This email address is being protected from spambots. You need JavaScript enabled to view it. INIT_USER_PASSWORD=changeme
LANGUAGE=en
This example only uses some of the available environment variables. If you want a more detailed overview over the available parametes, or how to use your own mysql database, you can have a look at the description of the docker image.
APPLICATION_PORT
The port, under wich the app will be running. If you use “80”, you will be able to call the app under “http://localhost”. Be aware that no SSL functions are provided by the app itself. So using e.g. 443 as port won’t enable the https protocoll.
DB_USERNAME
The Name of the user that has access to the schema on the related MySQL Server.
DB_PASSWORD
The Password of the user that has access to the database on the related MySSQL Server. You should change this! Don’t use the '/' character in your password.
MYSQL_DB
The database for the app. This must be a schema with the collation 'utf8mb4_0900_ai_ci'.
INIT_USER_EMAIL
The email of the inital user of the app. This can later also be changed in the app.
INIT_USER_PASSWORD
The password of the inital user of the app. This can later also be changed in the app.
LANGUAGE
The language in which the showcase is created and the default language for the initial user. Values can be 'de' and 'en', the default is 'en'.
Compose File
Once you created the file and changed all relevant variables, you can go on and create a file named docker-compose.yaml in the same directory (make sure you keep the indentations):
version: "3.7" networks: proProdNetwork: name: proProdNetwork services: app: image: proprodukt/pmboard:latest container_name: pm-dashboard-app restart: always ports: - "${APPLICATION_PORT}:8080" environment: - DB_USERNAME=${DB_USERNAME} - DB_PASSWORD=${DB_PASSWORD} - MYSQL_HOST=${MYSQL_HOST} - MYSQL_PORT=${MYSQL_PORT} - MYSQL_DB=${MYSQL_DB} - INIT_USER_EMAIL=${INIT_USER_EMAIL} - INIT_USER_PASSWORD=${INIT_USER_PASSWORD} - ATTACHMENT_PATH=/dashboard/data - WAIT_HOSTS= ${MYSQL_HOST}:${MYSQL_PORT} - LANGUAGE=${LANGUAGE} volumes: - dashboard_data:/dashboard/data depends_on: - proProdDb networks: - proProdNetwork proProdDb: image: mysql:8.0.32 container_name: pm-dashboard-db restart: always environment: - MYSQL_RANDOM_ROOT_PASSWORD=true - MYSQL_DATABASE=${MYSQL_DB} - MYSQL_USER=${DB_USERNAME} - MYSQL_PASSWORD=${DB_PASSWORD} ports: - 3306:3306 volumes: - db_data:/var/lib/mysql networks: - proProdNetwork cap_add: - SYS_NICE volumes: db_data: name: proProdMySql dashboard_data: name: proProdDashboard
This will create a docker compose application with two services, one for the app and one for the MySql server. It will also create two volumes in which the data of the app and the database are stored. Feel free to change this file, if you know what you are doing. For example you can use your own (existing) MySQL server, which must be of version 8.0.x (or higher). Or you can map the data folders not to volumes, but to folders on your system. Here you can find a overview of how to work with a docker-compose file.
Start and login
Once you created both files, you can use your console to navigate to the folder in which the two files are located and run the following command:
$ sudo docker-compose -p pm-board --env-file dashboard.env up -d
Once both the database container and the app container are started, you should be able to access the app by entering http://localhost in your browser (assuming that you used the defaults above). The username and password are also the values you defined in the environment parameters, by default
Getting a test license
In order to use the Product Management Dashboard, you will have to register your local server to get a test license. For the registration you will need the unique server key, that can be found in the License section of the admin pages:
You can create an account and register your local instance here.
If your local instance can connect to the internet, the app will automaticall fetch the licence. If it has no access, e.g. because the instance is running behind a firewall, you can download the key in our license portal and enter it in the field 'License Key' in the License section of the app.
Update your installation
To update your local installation, you will have to navigate to the folder where you originally created the two files dashboard.env and docker-compose.yaml mentioned above. If you deleted the files, just recreate them.
Now you can run the following command to get the latest version of the app:
$ sudo docker pull proprodukt/pmboard:latest
Once the new version is downloaded, you can rerun the script from above:
$ sudo docker-compose -p pm-board --env-file dashboard.env up -d
If you changed the name of the container group (the param after -p), make sure you also change this in the script above.
Next steps
Once you are done testing, we highly recommend that you clarify with your company's IT department how the app could be hosted in your environment for productive use.
The data you entered during your test will not be lost. You can create an export of your local system, which can then be installed on the new system.
back to knowledgebase