Bookmark: The Essential Project

https://enterprise-architecture.org/os_download.php

I think I've gotten close to getting a Docker version of this up and going. Which would make it easier to try out on a broader scale.

UPDATE:

Yup, got it running. Was a heck of a thing.

  • You have to use version 8 Java JDK, as it was the last one that was compiled with XML as part of the base Java.

docker-compose.yml

version: "3"
services:
  essential:
    build:
      context: .
      args:
        - DISPLAY
    ports:
      - "8080:8080"
    environment:
      - DISPLAY=host.docker.internal:0

Dockerfile

FROM debian:latest

RUN apt-get -y update \
    && apt-get -y upgrade \
    && apt-get install -y curl unzip libxext6 libxrender1 libxtst6 software-properties-common gpg-agent wget \
    && wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - \
    && add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ \
    && apt-get -y update \
    && apt-get install -y adoptopenjdk-8-hotspot \
    && rm -rf /var/lib/apt/lists/* \
    && touch /tmp/wait

# Get Essential
RUN curl -L https://essential-cdn.s3.eu-west-2.amazonaws.com/protege/install_protege_3.5-Unix-Any.bin -o /tmp/install.bin \
    && chmod u+x /tmp/install.bin \
    && /tmp/install.bin
    # Installed in /root/Protege_3.5
# Get Apache Tomcat
RUN curl -L https://apache.mirror.digitalpacific.com.au/tomcat/tomcat-9/v9.0.40/bin/apache-tomcat-9.0.40.tar.gz -o /usr/local/tomcat.tar.gz \
    && cd /usr/local \
    && tar xvf tomcat.tar.gz
# Get Essential extras
RUN cd /tmp \
    && echo "ESSUP" \
    && curl -L https://essential-cdn.s3.eu-west-2.amazonaws.com/essential-widgets/essentialinstallupgrade67.jar -o essup.jar \
    && echo "Base" \
    && curl -L https://essential-cdn.s3.eu-west-2.amazonaws.com/meta-model/essential_baseline_v6.11.1.zip -o /tmp/essential_baseline_v6.11.1.zip \
    && unzip /tmp/essential_baseline_v6.11.1.zip \
    && echo "Viewer" \
    && curl -L https://essential-cdn.s3.eu-west-2.amazonaws.com/viewer/essential_viewer_6112.war -o /usr/local/apache-tomcat-9.0.40/webapps/essential_viewer.war \
    && echo "Utility" \
    && curl -L https://essential-cdn.s3.eu-west-2.amazonaws.com/import-utility/essential_import_utility_23.war -o /usr/local/apache-tomcat-9.0.40/webapps/essential_import.war \
    && echo "Import" \
    && curl -L https://essential-cdn.s3.eu-west-2.amazonaws.com/import-utility/essentialImportConfig-6.7.eic -o /tmp/essentialImportConfig-6.7.eic

# Java installed via default-jdk above 
RUN echo 'JAVA_HOME="/usr/lib/jvm/adoptopenjdk-8-hotspot-amd64"' >> /etc/environment \
    && ln -s /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64 /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/jre

ENV DISPLAY :0
ENTRYPOINT ["tail", "-f" , "/tmp/wait"]
#ENTRYPOINT ["/usr/local/apache-tomcat-9.0.40/bin/catalina.sh","run"]

# RUN (be sure and run an XWindow mirror)
## X11 Mac: brew install xquartz
### After installing XQuartz, start it and open XQuartz -> Preferences from the menu bar. Go to the last tab, Security, and enable both "Allow connections from network clients" and "Authenticate connections" checkboxes and restart XQuartz.
### export DISPLAY=127.0.0.1:0
### xhost + 127.0.0.1
## X11 Win: choco install vcxsrv, then run it
# Go into the box and run 
### cd /tmp ; java -jar essup.jar (Need X11 running as it's got a GUI that requires user interaction :( )
### cd /root/Protege_3.5 ; ./run_protege.sh and complete the install
# Once it's installed you can use catalina to start rather than /tmp/wait
# URLS
# http://localhost:8080/essential_viewer/
# http://localhost:8080/essential_import/ [admin@admin.com/admin]
# MANUAL
# https://www.enterprise-architecture.org/essential_import_utility.php#os