There was a problem loading the comments.

How to install or update VIMP Enterprise via the Docker image?

Support Portal  »  Knowledgebase (FAQ)  »  Viewing Article

  Print
Editions: Enterprise
Versions: 4.3+

Download and import image

Download the Docker image tarball from your personal account and import it like described below.

If you want to install VIMP via Docker image for the first time, please contact us to provide the image in your account.

PLEASE NOTE: The following installation instructions are not intended for production use! Please consult your system administrator to set up VIMP in a production Docker environment!

Initial installation

Please replace 5.x.x-rxxxxx in the following with the actual version number and revision.

gunzip vimp-enterprise-docker-5.x.x-rxxxxx.tar.gz
docker load -i vimp-enterprise-docker-5.x.x-rxxxxx.tar


First, we determine the repository and correct tag for our VIMP image:

docker images | grep vimp


You will get a list of the existing Docker images by the above command. Only the latest VIMP image is relevant for us now, which appears in the list as follows, for example:

REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
registry.vimp.dev/vimp/enterprise   5.1.6-77            62fbad7db208        18 hours ago        1.93GB


The registry path and tag must be replaced accordingly in the following commands and in the docker-compose.yml file, so make a note of both (in our example, it would be composed registry.vimp.dev/vimp/enterprise:5.1.6-77).

Please also note at this point that the domain of the registry has changed from registry.vimp.com to registry.vimp.dev as of VIMP 5.1.6. So if you install a version prior to 5.1.6, you will need to change the domain everywhere accordingly in the following steps.


We now proceed to create the directory from which the volumes will be mounted (please replace test-vimp with the actual directory name you want to use):

mkdir -p test-vimp
cd test-vimp


As well as with the directory for the MySQL data:

mkdir -p vimp5_db


Now we copy the contents of the config, templates and userdata directories (replace the registry path and tag here accordingly).

docker run -d --name tmp_vimp_enterprise registry.vimp.dev/vimp/enterprise:5.1.6-77 \
&& docker cp tmp_vimp_enterprise:/var/www/html/config . \
&& docker cp tmp_vimp_enterprise:/var/www/html/templates . \
&& docker cp tmp_vimp_enterprise:/var/www/html/userdata . \
&& docker stop tmp_vimp_enterprise \
&& docker rm tmp_vimp_enterprise


Let’s see, if config, templates and userdata are there:

ls


Make sure you have a proper docker-compose.yml file in the current directory next to the config, templates, and userdata folders (see the end of this article for an example of the docker-compose.yml).

Then execute the following:

docker-compose up -d


You can check with docker-compose logs -f if the database is ready to accept connections. Then install the VIMP application and create all required tables like follows.

When prompted, please ensure that the database credentials match the database credentials of the docker-compose.yml file.

Please note to enter the name of the service as database host, in this case "db".

docker-compose exec httpd ./symfony framework:install -C --yes \
&& docker-compose exec httpd ./symfony framework:update --nothing --modules=yes \
&& docker-compose exec httpd ./symfony framework:update --nothing --database=yes \
&& docker-compose exec httpd ./symfony framework:update --nothing --rebuild=yes



IMPORTANT NOTE: framework:install will delete all existing data! Do not execute this on an existing VIMP database unless you know what you are doing! See next, how to update the Docker image.

That’s it – you can now access VIMP via your given Apache server name, which in our example is http://localhost.

Update Docker image

Here we describe how to update VIMP Enterprise with docker-compose when a new version of the image exists.

Please replace 5.x.x-rxxxxx in the following with the actual version number and revision.

gunzip vimp-enterprise-docker-5.x.x-rxxxxx.tar.gz
docker load -i vimp-enterprise-docker-5.x.x-rxxxxx.tar


First, we again determine the repository and correct tag for our VIMP image:

docker images | grep vimp


You will get a list of the existing Docker images by the above command. Only the latest VIMP image is relevant for us now, which appears in the list as follows, for example:

REPOSITORY                          TAG                 IMAGE ID            CREATED             SIZE
registry.vimp.dev/vimp/enterprise   5.1.6-77            62fbad7db208        18 hours ago        1.93GB


The registry path and tag must be replaced accordingly in the following commands and in the docker-compose.yml file, so make a note of both (in our example, it would be composed registry.vimp.dev/vimp/enterprise:5.1.6-77).

Please also note at this point that the domain of the registry has changed from registry.vimp.com to registry.vimp.dev as of VIMP 5.1.6. So if you install a version prior to 5.1.6, you will need to change the domain everywhere accordingly in the following steps.


In the following, please replace the directory test-vimp again with the actual directory name you want to use and replace the registry path as described above:

cd test-vimp \
&& mkdir tmp \
&& docker run -d --name tmp_vimp_enterprise registry.vimp.dev/vimp/enterprise:5.1.6-77 \
&& docker cp tmp_vimp_enterprise:/var/www/html/config ./tmp/config \
&& docker cp tmp_vimp_enterprise:/var/www/html/templates ./tmp/templates \
&& docker cp tmp_vimp_enterprise:/var/www/html/userdata ./tmp/userdata \
&& docker stop tmp_vimp_enterprise \
&& docker rm tmp_vimp_enterprise \
&& rm ./tmp/config/databases.yml ./tmp/config/propel.ini


With the above commands you have created a "tmp/" directory and copied the config, templates and userdata folders into it from the current VIMP version.
Next, some manual work is required. Your customizations in the previous folders (if you made any) must be merged with the files from /tmp/{config,userdata,templates}.

In the simplest case - if you have not made any individual adjustments - you can simply copy the files:

cp -ar tmp/* .


When this is done, you can stop and remove the current VIMP version with:

docker-compose stop httpd && docker-compose rm httpd


And start the new version with:

docker-compose up -d httpd


But before that, please adjust the correct version in docker-compose.yml.

The last thing to do is to run a database update:

docker-compose exec httpd ./symfony framework:update --nothing --rebuild=yes --yes
docker-compose exec httpd ./symfony framework:update --yes

 

and we delete the tmp folder:

 

rm -Rf tmp

 

Sample docker-compose.yml

Please replace the registry path as described above!

version: '3.3'
services:
  httpd:
    image: registry.vimp.dev/vimp/enterprise:5.1.6-77
    container_name: vimp_httpd
    restart: always
    ports:
      - "80:80"
    environment:
      - APACHE_SERVER_NAME=localhost
    volumes:
      - ./config:/var/www/html/config:cached
      - ./templates:/var/www/html/templates:cached
      - ./userdata:/var/www/html/userdata
    links:
      - db
    depends_on:
      - db

  db:
    image: mariadb:10.11.4
    container_name: vimp_db
    #command: mysqld --sql_mode="" --character-set-server=utf8 --init-connect='SET NAMES UTF8;'
    command: mysqld --sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO"
    restart: always
    expose:
      - 3306
    volumes:
      - "./vimp5_db:/var/lib/mysql"
    environment:
      MYSQL_USER: vimp
      MYSQL_PASSWORD: secret
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: vimp

Share via

Related Articles

© VIMP GmbH