1+ FROM intersystems/iris:2019.1.0S.111.0
2+
3+ # version DeepSeeWeb
4+ ARG DSW_VERSION=2.1.32
5+
6+
7+ WORKDIR /opt/app
8+
9+ COPY ./src/ ./src/
10+ COPY dswinstaller.cls ./
11+
12+
13+ RUN DEBIAN_FRONTEND=noninteractive apt-get update \
14+ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
15+ curl
16+
17+ RUN mkdir -p /tmp/deps \
18+
19+ && cd /tmp/deps \
20+
21+ # Download MDX2JSON, just master branch from github as archive
22+ && curl -L -q https://github.com/eduard93/Cache-MDX2JSON/archive/master.tar.gz | tar xvfzC - . \
23+
24+ # Download DeepSeeWeb from releases
25+ && curl -L -q https://github.com/intersystems-ru/DeepSeeWeb/releases/download/${DSW_VERSION}/DSW.Installer.${DSW_VERSION}.xml -o deepseeweb.xml \
26+
27+ # Download globals data
28+ && curl -s https://api.github.com/repos/intersystems-community/dc-analytics/releases/latest \
29+ | egrep 'http.*DCAnalytics_globals.*gz' \
30+ | cut -d : -f 2,3 \
31+ | tr -d '"' \
32+ | wget -O - -i - \
33+ | gunzip > /opt/app/globals.xml
34+
35+
36+ RUN iris start $ISC_PACKAGE_INSTANCENAME quietly EmergencyId=sys,sys && \
37+ /bin/echo -e "sys\n sys\n " \
38+ " Do ##class(Security.Users).UnExpireUserPasswords(\" *\" )\n " \
39+ " Do ##class(Security.Users).AddRoles(\" admin\" , \" %ALL\" )\n " \
40+ " do \$ system.OBJ.Load(\" /opt/app/dswinstaller.cls\" ,\" ck\" )\n " \
41+ # " do \$system.OBJ.Load(\"/tmp/deps/Cache-MDX2JSON-master/MDX2JSON/Installer.cls.xml\",\"ck\")\n" \
42+ # " do \$system.OBJ.Load(\"/tmp/deps/deepseeweb.xml\",\"ck\")\n" \
43+ " s sc=##class(DSWMDX2JSON.Installer).setup()\n " \
44+ " If 'sc do \$ zu(4, \$ JOB, 1)\n " \
45+ "do CreateDatabase^%SYS.SQLSEC(\" DCANALYTICS\" ,\"\" ,,0)\n " \
46+ "zn \" DCANALYTICS\"\n " \
47+ " do \$ system.OBJ.ImportDir(\" /opt/app/src\" ,,\" ck\" ,,1)\n " \
48+ " do ##class(Community.Utils).setup(\" /opt/app/globals.xml\" )" \
49+ " halt" \
50+ | iris session $ISC_PACKAGE_INSTANCENAME && \
51+ /bin/echo -e "sys\n sys\n " \
52+ | iris stop $ISC_PACKAGE_INSTANCENAME quietly
53+
54+ COPY ./other/dcanalytics.json /usr/irissys/csp/dsw/configs/
55+
56+ CMD [ "-l" , "/usr/irissys/mgr/messages.log" ]
0 commit comments