docker-compose.yml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #-------------------------------------------------------------------------------------------------------------
  2. # Copyright (c) Microsoft Corporation. All rights reserved.
  3. # Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
  4. #-------------------------------------------------------------------------------------------------------------
  5. version: '3'
  6. services:
  7. node:
  8. # Uncomment the next line to use a non-root user for all processes. You can also
  9. # simply use the "remoteUser" property in devcontainer.json if you just want VS Code
  10. # and its sub-processes (terminals, tasks, debugging) to execute as the user. On Linux,
  11. # you may need to update USER_UID and USER_GID in .devcontainer/Dockerfile to match your
  12. # user if not 1000. See https://aka.ms/vscode-remote/containers/non-root for details.
  13. user: node
  14. build:
  15. context: .
  16. dockerfile: Dockerfile
  17. volumes:
  18. - ..:/workspace/growi:delegated
  19. - node_modules:/workspace/growi/node_modules
  20. - node_modules_app:/workspace/growi/apps/app/node_modules
  21. - node_modules_slackbot-proxy:/workspace/growi/apps/slackbot-proxy/node_modules
  22. - buildcache_app:/workspace/growi/apps/app/.next
  23. - ../../growi-docker-compose:/workspace/growi-docker-compose:delegated
  24. tty: true
  25. mongo:
  26. image: mongo:4.4
  27. restart: unless-stopped
  28. ports:
  29. - 27017:27017
  30. volumes:
  31. - /data/db
  32. ogp:
  33. image: ghcr.io/weseek/growi-unique-ogp:latest
  34. ports:
  35. - 8088:8088
  36. restart: unless-stopped
  37. tty: true
  38. # This container requires '../../growi-docker-compose' repository
  39. # cloned from https://github.com/weseek/growi-docker-compose.git
  40. elasticsearch:
  41. build:
  42. context: ../../growi-docker-compose/elasticsearch
  43. dockerfile: ./Dockerfile
  44. args:
  45. - version=7.17.9
  46. container_name: elasticsearch
  47. restart: unless-stopped
  48. ports:
  49. - 9200:9200
  50. environment:
  51. - bootstrap.memory_lock=true
  52. - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
  53. - LOG4J_FORMAT_MSG_NO_LOOKUPS=true # CVE-2021-44228 mitigation for Elasticsearch <= 6.8.20/7.16.0
  54. ulimits:
  55. memlock:
  56. soft: -1
  57. hard: -1
  58. volumes:
  59. - /usr/share/elasticsearch/data
  60. - ../../growi-docker-compose/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  61. #need to adjust kibana version based on elasticsearch version (use same version as elasticsearch version)
  62. kibana:
  63. image: docker.elastic.co/kibana/kibana:7.17.9
  64. restart: unless-stopped
  65. environment:
  66. ELASTICSEARCH_HOSTS: 'http://elasticsearch:9200'
  67. ports:
  68. - 5601:5601
  69. depends_on:
  70. - elasticsearch
  71. # This container requires '../../growi-docker-compose' repository
  72. # cloned from https://github.com/weseek/growi-docker-compose.git
  73. hackmd:
  74. build:
  75. context: ../../growi-docker-compose/hackmd
  76. restart: unless-stopped
  77. environment:
  78. - GROWI_URI=http://localhost:3000
  79. # define 'storage' option value
  80. # see https://github.com/sequelize/cli/blob/7160d0/src/helpers/config-helper.js#L192
  81. - CMD_DB_URL=sqlite://dummyhost/hackmd/sqlite/codimd.db
  82. - CMD_CSP_ENABLE=false
  83. ports:
  84. - 3010:3000
  85. volumes:
  86. - /files/sqlite
  87. volumes:
  88. node_modules:
  89. node_modules_app:
  90. node_modules_slackbot-proxy:
  91. buildcache_app: