Jamf onpremise Docker update

Elies
New Contributor II

Hello Jamf community!

I wanted to share my experiences about updating an onpremise instance in Docker with you, because I didn't find any information about it on the net. But first you should make a backup, because I only share my personal experiences here and am not responsible if something goes wrong. The best way to test my approach is to test it locally first. I recommend Vagrant or the Docker client for mac.

The actual update process is quite simple. First stop your test Docker Container .
Download the current ROOT.war from your assets and save it. I have the db and webapps (where the ROOT.war is unpacked) persisted on my host (docker volumes). The ROOT.war file is stored in my container in /data/ROOT.war so that the file is found when the container is started. Now I delete the folder "ROOT" in the webapps directory. This has to be done so that the unpacking of the new ROOT.war file is not skipped when the container is started (there is probably a check if the ROOT directory is empty). Don't worry, the actual data is not in the directory. Now you can restart the container and you can see in the docker logs that the new ROOT.war file is unpacked. This can take a long time depending on the test environment. Afterwards you should have updated successfully.

To make sure you have the same requirements as me, I share my Docker compose file with you.

version: '3.5'
services:
  jamf_mysql:
    image: mysql:5.7.30
    container_name: jamf_mysql
    networks:
      - jamfnet
    ports:
      - "3306:3306"
    environment:
      MYSQL_DATABASE: xxxx
      MYSQL_PASSWORD: xxxx
      MYSQL_ROOT_PASSWORD: xxxx
      MYSQL_USER: xxxx
    volumes:
      - /opt/jamf/data/db:/var/lib/mysql
  jamf:
    image: jamfdevops/jamfpro:0.0.11
    container_name: jamf
    networks:
      - jamfnet
    ports:
      - "xxxx:xxxx"
      - "xxxx:xxxx"
    environment:
      DATABASE_HOST: jamf_mysql
      DATABASE_NAME: xxxx
      DATABASE_PASSWORD: xxxx
      DATABASE_PORT: 3306
      DATABASE_USERNAME: xxxx
    volumes:
      - /opt/jamf/config/ROOT.war:/data/ROOT.war
      - /opt/jamf/data/webapps:/usr/local/tomcat/webapps
      - /opt/jamf/config/server.xml:/usr/local/tomcat/conf/server.xml
      - /opt/jamf/config/jamf.p12:/usr/local/tomcat/jamf.p12
      - /opt/jamf/log:/usr/local/tomcat/logs
    depends_on:
      - jamf_mysql
networks:
  jamfnet:
0 REPLIES 0