docker-compose.yml 6.7 KB

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