forked from virtualcell/vcell
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDockerfile-submit-dev
129 lines (119 loc) · 5.64 KB
/
Dockerfile-submit-dev
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
FROM openjdk:8u151-jdk-alpine3.7
RUN mkdir -p /usr/local/app && \
apk update && \
apk add openssh-client && \
apk add screen
WORKDIR /usr/local/app
COPY ./vcell-server/target/vcell-server-0.0.1-SNAPSHOT.jar \
./vcell-server/target/maven-jars/*.jar \
./lib/
COPY ./docker/build/vcell-submit.log4j.xml .
ENV softwareVersion=SOFTWARE-VERSION-NOT-SET \
serverid=SITE \
jmshost_int_internal=activemqint \
jmsport_int_internal=61616 \
jmshost_sim_internal=activemqsim \
jmsport_sim_internal=61616 \
jmsuser=clientUser \
jmshost_sim_external="jms-host-sim-external-not-set" \
jmsport_sim_external="jms-port-sim-external-not-set" \
jmsrestport_sim_external="jms-restport-sim-external-not-set" \
mongodb_host_internal=mongodb \
mongodb_port_internal=27017 \
mongodb_database=test \
mongodb_host_external="mongodb-host-external-not-set" \
mongodb_port_external="mongodb-port-external-not-set" \
export_baseurl="export-baseurl-not-set" \
simdatadir_external=/path/to/external/simdata/ \
simdatadir_parallel_external=/path/to/external/parallel/simdata/ \
htclogdir_internal=/path/to/internal/htclogs/ \
htclogdir_external=/path/to/external/htclogs/ \
nativesolverdir_external=/path/to/external/nativesolvers/ \
htcnodelist="batch-host-not-set" \
singularity_imagefile=/path/to/external/singularity.img \
docker_name="repo/namespace/vcell-batch:tag" \
batchhost="batch-host-not-set" \
batchuser="batch-user-not-set" \
slurm_cmd_sbatch=sbatch \
slurm_cmd_sacct=sacct \
slurm_cmd_scancel=scancel \
slurm_cmd_squeue=squeue \
slurm_partition="slurm-partition-not-set" \
slurm_reservation="slurm_reservation-not-set" \
slurm_qos="slurm_qos-not-set" \
slurm_partition_pu="slurm_partition_pu-not-set" \
slurm_reservation_pu="slurm_reservation_pu-not-set" \
slurm_qos_pu="slurm_qos_pu-not-set" \
slurm_tmpdir="slurm-tmpdir-not-set" \
slurm_local_singularity_dir="slurm_local_singularity_dir-not-set" \
slurm_central_singularity_dir="slurm_central_singularity_dir-not-set" \
jmsblob_minsize=100000 \
vcell_ssh_cmd_cmdtimeout="cmdSrvcSshCmdTimeoutMS-not-set" \
vcell_ssh_cmd_restoretimeout="cmdSrvcSshCmdRestoreTimeoutFactor-not-set" \
simdatadir_archive_host="simdatadir_archive_host-not-set"
ENV jmspswdfile=/run/secrets/jmspswd \
jmsrestpswdfile=/run/secrets/jmsrestpswd \
batchuserkeyfile=/run/secrets/batchuserkeyfile
VOLUME /simdata
VOLUME /share/apps/vcell10/users
VOLUME /htclogs
EXPOSE 8000
ENTRYPOINT java \
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n \
-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:MaxRAMFraction=1 -Xms64M \
-Djava.awt.headless=true \
-Dvcell.softwareVersion="${softwareVersion}" \
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager \
-Dlog4j.configurationFile=/usr/local/app/vcell-submit.log4j.xml \
-Dvcell.server.id="${serverid}" \
-Dvcell.primarySimdatadir.internal=/simdata \
-Dvcell.htc.simPerUserMemLimitFile=sim_mem_per_user_limits.txt \
-Dvcell.primarySimdatadir.external="${simdatadir_external}" \
-Dvcell.parallelDatadir.external="${simdatadir_parallel_external}" \
-Dvcell.nativesolverdir.external="${nativesolverdir_external}" \
-Dvcell.htc.user="${batchuser}" \
-Dvcell.htc.logdir.internal=/htclogs \
-Dvcell.htc.logdir.external="${htclogdir_external}" \
-Dvcell.htc.nodelist="${htcnodelist}" \
-Dvcell.slurm.cmd.sbatch="${slurm_cmd_sbatch}" \
-Dvcell.slurm.cmd.sacct="${slurm_cmd_sacct}" \
-Dvcell.slurm.cmd.squeue="${slurm_cmd_squeue}" \
-Dvcell.slurm.cmd.scancel="${slurm_cmd_scancel}" \
-Dvcell.slurm.partition="${slurm_partition}" \
-Dvcell.slurm.reservation="${slurm_reservation}" \
-Dvcell.slurm.qos="${slurm_qos}" \
-Dvcell.slurm.partitionpu="${slurm_partition_pu}" \
-Dvcell.slurm.reservationpu="${slurm_reservation_pu}" \
-Dvcell.slurm.qospu="${slurm_qos_pu}" \
-Dvcell.slurm.tmpdir="${slurm_tmpdir}" \
-Dvcell.slurm.local.singularity.dir="${slurm_local_singularity_dir}" \
-Dvcell.slurm.central.singularity.dir="${slurm_central_singularity_dir}" \
-Dvcell.batch.singularity.image="${singularity_imagefile}" \
-Dvcell.batch.docker.name="${docker_name}" \
-Dvcell.simulation.postprocessor=JavaPostprocessor64 \
-Dvcell.simulation.preprocessor=JavaPreprocessor64 \
-Dvcell.javaSimulation.executable=JavaSimExe64 \
-Dvcell.installDir=/usr/local/app \
-Dvcell.jms.int.host.internal="${jmshost_int_internal}" \
-Dvcell.jms.int.port.internal="${jmsport_int_internal}" \
-Dvcell.jms.int.restport.internal="${jmsrestport_internal}" \
-Dvcell.jms.sim.host.internal="${jmshost_sim_internal}" \
-Dvcell.jms.sim.port.internal="${jmsport_sim_internal}" \
-Dvcell.jms.sim.host.external="${jmshost_sim_external}" \
-Dvcell.jms.sim.port.external="${jmsport_sim_external}" \
-Dvcell.jms.sim.restport.external="${jmsrestport_sim_external}" \
-Dvcell.jms.blobMessageUseMongo=true \
-Dvcell.jms.blobMessageMinSize="${jmsblob_minsize}" \
-Dvcell.jms.user="${jmsuser}" \
-Dvcell.jms.pswdfile="${jmspswdfile}" \
-Dvcell.jms.rest.pswdfile="${jmsrestpswdfile}" \
-Dvcell.mongodb.host.internal=${mongodb_host_internal} \
-Dvcell.mongodb.port.internal=${mongodb_port_internal} \
-Dvcell.mongodb.host.external=${mongodb_host_external} \
-Dvcell.mongodb.port.external=${mongodb_port_external} \
-Dvcell.mongodb.database=${mongodb_database} \
-Dvcell.simdatadir.archive.host=${simdatadir_archive_host} \
-Dvcell.ssh.cmd.cmdtimeout=${vcell_ssh_cmd_cmdtimeout} \
-Dvcell.ssh.cmd.restoretimeout=${vcell_ssh_cmd_restoretimeout} \
-cp "./lib/*" cbit.vcell.message.server.batch.sim.HtcSimulationWorker \
"${batchhost}" "${batchuser}" "${batchuserkeyfile}"