forked from intersystems/Samples-ObjectScript
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile-zpm
41 lines (31 loc) · 1.26 KB
/
Dockerfile-zpm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
ARG IMAGE=intersystems/iris:2019.1.0S.111.0
ARG IMAGE=store/intersystems/iris:2019.1.0.511.0-community
ARG IMAGE=store/intersystems/iris:2019.2.0.107.0-community
#ARG IMAGE=intersystems/iris:2019.3.0.302.0
ARG IMAGE=store/intersystems/iris-community:2019.3.0.302.0
FROM $IMAGE
USER root
WORKDIR /opt/app
RUN chown ${ISC_PACKAGE_MGRUSER}:${ISC_PACKAGE_IRISGROUP} /opt/app
USER irisowner
COPY ./Installer.cls ./
COPY ./cls ./src/cls
#COPY ./src/dfi ./src/dfi
RUN mkdir -p /tmp/deps \
&& cd /tmp/deps \
&& wget -q https://pm.community.intersystems.com/packages/zpm/latest/installer -O zpm.xml
RUN iris start $ISC_PACKAGE_INSTANCENAME quietly && \
/bin/echo -e \
"zn \"%SYS\"\n" \
" Do ##class(Security.Users).UnExpireUserPasswords(\"*\")\n" \
"zn \"USER\"\n" \
" Do \$system.OBJ.Load(\"/tmp/deps/zpm.xml\", \"ck\")" \
" Do \$system.OBJ.Load(\"/opt/app/Installer.cls\",\"ck\")\n" \
" Set sc = ##class(App.Installer).setup(, 3)\n" \
" If 'sc do \$zu(4, \$JOB, 1)\n" \
" halt" \
| iris session $ISC_PACKAGE_INSTANCENAME && \
/bin/echo -e "sys\nsys\n" \
| iris stop $ISC_PACKAGE_INSTANCENAME quietly
USER ${ISC_PACKAGE_MGRUSER}
CMD [ "-l", "/usr/irissys/mgr/messages.log" ]