docker-compose.yml 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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/packages/app/node_modules
  21. - node_modules_slackbot-proxy:/workspace/growi/packages/slackbot-proxy/node_modules
  22. - ../../growi-docker-compose:/workspace/growi-docker-compose:delegated
  23. tty: true
  24. mongo:
  25. image: mongo:4.4
  26. restart: unless-stopped
  27. ports:
  28. - 27017:27017
  29. volumes:
  30. - /data/db
  31. ogp:
  32. image: ghcr.io/weseek/growi-unique-ogp:latest
  33. ports:
  34. - 8088:8088
  35. restart: unless-stopped
  36. tty: true
  37. # This container requires '../../growi-docker-compose' repository
  38. # cloned from https://github.com/weseek/growi-docker-compose.git
  39. elasticsearch:
  40. build:
  41. context: ../../growi-docker-compose/elasticsearch
  42. dockerfile: ./Dockerfile
  43. args:
  44. - version=7.16.1
  45. container_name: elasticsearch
  46. restart: unless-stopped
  47. ports:
  48. - 9200:9200
  49. environment:
  50. - bootstrap.memory_lock=true
  51. - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
  52. - LOG4J_FORMAT_MSG_NO_LOOKUPS=true # CVE-2021-44228 mitigation for Elasticsearch <= 6.8.20/7.16.0
  53. ulimits:
  54. memlock:
  55. soft: -1
  56. hard: -1
  57. volumes:
  58. - /usr/share/elasticsearch/data
  59. - ../../growi-docker-compose/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  60. #need to adjust kibana version based on elasticsearch version (use same version as elasticsearch version)
  61. kibana:
  62. image: docker.elastic.co/kibana/kibana:7.16.1
  63. restart: unless-stopped
  64. environment:
  65. ELASTICSEARCH_HOSTS: 'http://elasticsearch:9200'
  66. ports:
  67. - 5601:5601
  68. depends_on:
  69. - elasticsearch
  70. # This container requires '../../growi-docker-compose' repository
  71. # cloned from https://github.com/weseek/growi-docker-compose.git
  72. hackmd:
  73. build:
  74. context: ../../growi-docker-compose/hackmd
  75. restart: unless-stopped
  76. environment:
  77. - GROWI_URI=http://localhost:3000
  78. # define 'storage' option value
  79. # see https://github.com/sequelize/cli/blob/7160d0/src/helpers/config-helper.js#L192
  80. - CMD_DB_URL=sqlite://dummyhost/hackmd/sqlite/codimd.db
  81. - CMD_CSP_ENABLE=false
  82. ports:
  83. - 3010:3000
  84. volumes:
  85. - /files/sqlite
  86. volumes:
  87. node_modules:
  88. node_modules_app:
  89. node_modules_slackbot-proxy: