docker-compose.yml 7.1 KB

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