| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- services:
- app:
- image: mcr.microsoft.com/devcontainers/base:ubuntu
- volumes:
- - ..:/workspace/growi:delegated
- - pnpm-store:/workspace/.pnpm-store
- - ${HOME}/.claude:/home/vscode/.claude
- - ../../growi-docker-compose:/workspace/growi-docker-compose:delegated
- - ../../share:/workspace/share:delegated
- - page_bulk_export_tmp:/tmp/page-bulk-export
- tty: true
- networks:
- - default
- - opentelemetry-collector-dev-setup_default
- mongo:
- image: mongo:8.2
- restart: unless-stopped
- ports:
- - 27017
- volumes:
- - /data/db
- healthcheck:
- test: ["CMD", "mongosh", "--quiet", "--eval", "db.adminCommand('ping').ok"]
- interval: 5s
- timeout: 5s
- retries: 20
- # Ensures MongoDB Feature Compatibility Version matches the mongo image.
- # Required when the mongo image is upgraded while existing data persists in the volume.
- # https://www.mongodb.com/ja-jp/docs/upcoming/release-notes/8.2-upgrade-standalone/
- mongo-init:
- image: mongo:8.2
- depends_on:
- mongo:
- condition: service_healthy
- restart: 'no'
- entrypoint:
- - mongosh
- - --quiet
- - --host
- - mongo:27017
- - --eval
- - |
- const target = '8.2';
- const result = db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 });
- if (result.featureCompatibilityVersion.version === target) {
- print(`FCV already ${target}`);
- } else {
- db.adminCommand({ setFeatureCompatibilityVersion: target, confirm: true });
- print(`FCV upgraded: ${result.featureCompatibilityVersion.version} -> ${target}`);
- }
- # This container requires '../../growi-docker-compose' repository
- # cloned from https://github.com/growilabs/growi-docker-compose.git
- elasticsearch:
- image: docker.elastic.co/elasticsearch/elasticsearch:9.3.3
- restart: unless-stopped
- ports:
- - 9200
- environment:
- - bootstrap.memory_lock=true
- - "ES_JAVA_OPTS=-Xms256m -Xmx256m"
- - LOG4J_FORMAT_MSG_NO_LOOKUPS=true # CVE-2021-44228 mitigation for Elasticsearch <= 6.8.20/7.16.0
- ulimits:
- memlock:
- soft: -1
- hard: -1
- volumes:
- - /usr/share/elasticsearch/data
- - ../../growi-docker-compose/elasticsearch/v9/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- - ../../growi-docker-compose/elasticsearch/v9/config/elasticsearch-plugins.yml:/usr/share/elasticsearch/config/elasticsearch-plugins.yml
- volumes:
- pnpm-store:
- page_bulk_export_tmp:
- networks:
- default:
- opentelemetry-collector-dev-setup_default:
- external: ${OPENTELEMETRY_COLLECTOR_DEV_ENABLED:-false}
|