docker-compose.yml 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. version: "3.7"
  2. services:
  3. db:
  4. image: "mariadb:bionic"
  5. container_name: "rathena_db"
  6. ports:
  7. - "3306:3306" # allow DB connections from host
  8. volumes:
  9. - "rathenadb:/var/lib/mysql" # save database to local disk
  10. - "../../sql-files/:/docker-entrypoint-initdb.d" # initialize db with ./sql-files
  11. environment:
  12. MYSQL_ROOT_PASSWORD: ragnarok
  13. MYSQL_DATABASE: ragnarok
  14. MYSQL_USER: ragnarok
  15. MYSQL_PASSWORD: ragnarok
  16. builder:
  17. image: "rathena:local"
  18. container_name: "rathena-builder"
  19. command: "/rathena/tools/docker/builder.sh"
  20. volumes:
  21. - "../..:/rathena" # mount git repo directory inside container
  22. - "./asset/inter_conf.txt:/rathena/conf/import/inter_conf.txt" # load db connection
  23. - "./asset/char_conf.txt:/rathena/conf/import/char_conf.txt" #localdev login-char relation
  24. - "./asset/map_conf.txt:/rathena/conf/import/map_conf.txt" #localdev char-map relation
  25. init: true # helps with signal forwarding and process reaping
  26. tty: true
  27. stdin_open: true
  28. build:
  29. context: .
  30. dockerfile: Dockerfile
  31. environment:
  32. BUILDER_CONFIGURE: "--enable-packetver=20211103"
  33. login:
  34. image: "rathena:local"
  35. container_name: "rathena-login"
  36. command: sh -c "/bin/wait-for db:3306 -- /rathena/login-server"
  37. ports:
  38. - "6900:6900" # login server
  39. volumes:
  40. - "../..:/rathena" # mount git repo directory inside container
  41. - "./asset/inter_conf.txt:/rathena/conf/import/inter_conf.txt" # load db connection
  42. - "./asset/char_conf.txt:/rathena/conf/import/char_conf.txt" #localdev login-char relation
  43. - "./asset/map_conf.txt:/rathena/conf/import/map_conf.txt" #localdev char-map relation
  44. init: true # helps with signal forwarding and process reaping
  45. tty: true
  46. stdin_open: true
  47. build:
  48. context: .
  49. dockerfile: Dockerfile
  50. depends_on:
  51. - db
  52. char:
  53. image: "rathena:local"
  54. container_name: "rathena-char"
  55. command: sh -c "/bin/wait-for db:3306 -- /rathena/char-server"
  56. ports:
  57. - "6121:6121" # char server
  58. volumes:
  59. - "../..:/rathena" # mount git repo directory inside container
  60. - "./asset/inter_conf.txt:/rathena/conf/import/inter_conf.txt" # load db connection
  61. - "./asset/char_conf.txt:/rathena/conf/import/char_conf.txt" #localdev login-char relation
  62. - "./asset/map_conf.txt:/rathena/conf/import/map_conf.txt" #localdev char-map relation
  63. init: true # helps with signal forwarding and process reaping
  64. tty: true
  65. stdin_open: true
  66. build:
  67. context: .
  68. dockerfile: Dockerfile
  69. depends_on:
  70. - login
  71. map:
  72. image: "rathena:local"
  73. container_name: "rathena-map"
  74. command: sh -c "/bin/wait-for db:3306 -- /rathena/map-server"
  75. ports:
  76. - "5121:5121" # map server
  77. volumes:
  78. - "../..:/rathena" # mount git repo directory inside container
  79. - "./asset/inter_conf.txt:/rathena/conf/import/inter_conf.txt" # load db connection
  80. - "./asset/char_conf.txt:/rathena/conf/import/char_conf.txt" #localdev login-char relation
  81. - "./asset/map_conf.txt:/rathena/conf/import/map_conf.txt" #localdev char-map relation
  82. init: true # helps with signal forwarding and process reaping
  83. tty: true
  84. stdin_open: true
  85. build:
  86. context: .
  87. dockerfile: Dockerfile
  88. depends_on:
  89. - char
  90. volumes:
  91. rathenadb: