docker-compose.yml 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. # docker swarm init, then you have to do // note version_mpinet is the name of the overlay
  2. # docker network create --driver=overlay --attachable yml_mpinet
  3. # Jan, 17, 2025 - Jean-Michel Batto
  4. services:
  5. grafana:
  6. container_name: influxdb_local
  7. image: philhawthorne/docker-influxdb-grafana:latest
  8. volumes:
  9. - /var/run/docker.sock:/var/run/docker.sock
  10. - usrlocalinfluxdb-foo:/var/lib/influxdb
  11. - usrlocalgrafana-foo:/var/lib/grafana
  12. ports:
  13. - "3003:3003"
  14. - "3004:8083"
  15. - "8086:8086"
  16. networks:
  17. - mpinet
  18. mpihead:
  19. image: jmbatto/m2chps-mpi41-xmp:latest
  20. hostname: mpihead
  21. volumes:
  22. - /var/run/docker.sock:/var/run/docker.sock
  23. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  24. shm_size: '512m'
  25. ports:
  26. - "2022:22"
  27. links:
  28. - mpinode1
  29. - mpinode2
  30. - mpinode3
  31. networks:
  32. - mpinet
  33. secrets:
  34. - source: "id_rsa"
  35. target: "/home/mpiuser/.ssh-source/id_rsa"
  36. - source: "id_rsa_mpi_pub"
  37. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  38. - source: "authorized_keys"
  39. target: "/home/mpiuser/.ssh-source/authorized_keys"
  40. - source: "install_clang_format_go.sh"
  41. target: "/home/mpiuser/.ssh-source/install_clang_format_go.sh"
  42. depends_on:
  43. - grafana
  44. mpinode1:
  45. image: jmbatto/m2chps-mpi41-xmp:latest
  46. hostname: mpinode1
  47. volumes:
  48. - /var/run/docker.sock:/var/run/docker.sock
  49. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  50. shm_size: '512m'
  51. networks:
  52. - mpinet
  53. secrets:
  54. - source: "id_rsa"
  55. target: "/home/mpiuser/.ssh-source/id_rsa"
  56. - source: "id_rsa_mpi_pub"
  57. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  58. - source: "authorized_keys"
  59. target: "/home/mpiuser/.ssh-source/authorized_keys"
  60. depends_on:
  61. - grafana
  62. mpinode2:
  63. image: jmbatto/m2chps-mpi41-xmp:latest
  64. hostname: mpinode2
  65. volumes:
  66. - /var/run/docker.sock:/var/run/docker.sock
  67. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  68. shm_size: '512m'
  69. networks:
  70. - mpinet
  71. secrets:
  72. - source: "id_rsa"
  73. target: "/home/mpiuser/.ssh-source/id_rsa"
  74. - source: "id_rsa_mpi_pub"
  75. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  76. - source: "authorized_keys"
  77. target: "/home/mpiuser/.ssh-source/authorized_keys"
  78. depends_on:
  79. - grafana
  80. mpinode3:
  81. image: jmbatto/m2chps-mpi41-xmp:latest
  82. hostname: mpinode3
  83. volumes:
  84. - /var/run/docker.sock:/var/run/docker.sock
  85. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  86. shm_size: '512m'
  87. networks:
  88. - mpinet
  89. secrets:
  90. - source: "id_rsa"
  91. target: "/home/mpiuser/.ssh-source/id_rsa"
  92. - source: "id_rsa_mpi_pub"
  93. target: "/home/mpiuser/.ssh-source/id_rsa.pub"
  94. - source: "authorized_keys"
  95. target: "/home/mpiuser/.ssh-source/authorized_keys"
  96. depends_on:
  97. - grafana
  98. vscode:
  99. image: codercom/code-server:latest
  100. container_name: vscode
  101. hostname: vscode
  102. ports:
  103. - "8081:8080"
  104. deploy:
  105. resources:
  106. limits:
  107. memory: 512M
  108. restart: always
  109. volumes:
  110. - /var/run/docker.sock:/var/run/docker.sock
  111. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  112. environment:
  113. - PASSWORD=XXXXXXXX
  114. - DOCKER_USER=votrelogin
  115. - CODER_ACCESS_URL="http://localhost:8081"
  116. user: "1001:1001"
  117. networks:
  118. - mpinet
  119. secrets:
  120. - source: "id_rsa"
  121. target: "/home/coder/.ssh-source/id_rsa"
  122. - source: "id_rsa_mpi_pub"
  123. target: "/home/coder/.ssh-source/id_rsa.pub"
  124. - source: "authorized_keys"
  125. target: "/home/coder/.ssh-source/authorized_keys"
  126. - source: "certif.sh"
  127. target: "/home/coder/.ssh-source/certif.sh"
  128. - source: "install_clang_format_go.sh"
  129. target: "/home/coder/.ssh-source/install_clang_format_go.sh"
  130. mysql:
  131. image: mariadb:10.10
  132. hostname: mysql
  133. container_name: mysql
  134. environment:
  135. MARIADB_ROOT_PASSWORD: password
  136. MARIADB_DATABASE: slurm_acct_db
  137. MARIADB_USER: slurm
  138. MARIADB_PASSWORD: password
  139. volumes:
  140. - var_lib_mysql:/var/lib/mysql
  141. ports:
  142. - "3306:3306"
  143. networks:
  144. - mpinet
  145. slurmdbd:
  146. image: jmbatto/m2chps-slurm-cluster:latest
  147. command: ["slurmdbd"]
  148. container_name: slurmdbd
  149. hostname: slurmdbd
  150. volumes:
  151. - etc_munge:/etc/munge
  152. # - etc_slurm:/etc/slurm
  153. - var_log_slurm:/var/log/slurm
  154. expose:
  155. - "6819"
  156. depends_on:
  157. - mysql
  158. shm_size: '512m'
  159. networks:
  160. - mpinet
  161. slurmctld:
  162. image: jmbatto/m2chps-slurm-cluster:latest
  163. command: ["slurmctld"]
  164. container_name: slurmctld
  165. hostname: slurmctld
  166. volumes:
  167. - etc_munge:/etc/munge
  168. # - etc_slurm:/etc/slurm
  169. - slurm_jobdir:/data
  170. - var_log_slurm:/var/log/slurm
  171. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  172. expose:
  173. - "6817"
  174. depends_on:
  175. - "slurmdbd"
  176. shm_size: '512m'
  177. networks:
  178. - mpinet
  179. c1:
  180. image: jmbatto/m2chps-slurm-cluster:latest
  181. command: ["slurmd"]
  182. hostname: c1
  183. container_name: c1
  184. volumes:
  185. - etc_munge:/etc/munge
  186. # - etc_slurm:/etc/slurm
  187. - slurm_jobdir:/data
  188. - var_log_slurm:/var/log/slurm
  189. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  190. expose:
  191. - "6818"
  192. depends_on:
  193. - "slurmctld"
  194. shm_size: '512m'
  195. networks:
  196. - mpinet
  197. c2:
  198. image: jmbatto/m2chps-slurm-cluster:latest
  199. command: ["slurmd"]
  200. hostname: c2
  201. container_name: c2
  202. volumes:
  203. - etc_munge:/etc/munge
  204. # - etc_slurm:/etc/slurm
  205. - slurm_jobdir:/data
  206. - var_log_slurm:/var/log/slurm
  207. - usrlocalvarmpi-foo:/usr/local/var/mpishare
  208. expose:
  209. - "6818"
  210. depends_on:
  211. - "slurmctld"
  212. shm_size: '512m'
  213. networks:
  214. - mpinet
  215. secrets:
  216. id_rsa_mpi_pub:
  217. file: ssh/id_rsa.mpi.pub
  218. id_rsa:
  219. file: ssh/id_rsa.mpi
  220. authorized_keys:
  221. file: ssh/id_rsa.mpi.pub
  222. certif.sh:
  223. file: ssh/certif.sh
  224. install_clang_format_go.sh:
  225. file: ssh/install_clang_format_go.sh
  226. networks:
  227. mpinet:
  228. external: true
  229. name : yml_mpinet
  230. # bridge by default
  231. # driver: overlay
  232. volumes:
  233. etc_munge:
  234. # etc_slurm:
  235. slurm_jobdir:
  236. var_lib_mysql:
  237. var_log_slurm:
  238. usrlocalvarmpi-foo:
  239. usrlocalgrafana-foo:
  240. usrlocalinfluxdb-foo: