version: "3.8" services: web_server: image: ccsamsterdam/ngincat:4.0.13 build: ./ngincat container_name: ngincat restart: unless-stopped networks: - amcat-net environment: - amcat4_client=http://amcat4client:3000 - amcat4_host=http://amcat4:5000 ports: - 80:80 # [local port]:[container port] depends_on: - "web_client" - "api" web_client: image: ccsamsterdam/amcat4client:4.0.13 build: ./amcat4client container_name: amcat4client restart: unless-stopped networks: - amcat-net environment: # this can be changed later, it is just the suggested default - amcat4_host=http://localhost/amcat depends_on: - "api" api: image: ccsamsterdam/amcat4:4.0.13 build: ./amcat4 container_name: amcat4 restart: unless-stopped networks: - amcat-net environment: # note that these take precedence over values set in `amcat4 config`` - amcat4_elastic_host=http://elastic7:9200 - amcat4_host=http://localhost/amcat depends_on: - "db" db: image: docker.elastic.co/elasticsearch/elasticsearch:8.8.1 container_name: elastic7 restart: unless-stopped # for security reasons, the database is only exposed to the other containers in the amcat-net network # If you want to be able to access it locally, uncomment the following two lines # ports: # - 9200:9200 networks: - amcat-net environment: - discovery.type=single-node - bootstrap.memory_lock=true # limits memory usage of elasticsearch; 4g or less can cause errors when uploading larger document collections - "ES_JAVA_OPTS=-Xms4g -Xmx4g" - xpack.security.enabled=false # your database should have a folder on the host machine to permanently store data. By default # a docker volume (called elastic-volume) is used, which leaves management of the files to Docker # (see https://docs.docker.com/storage/volumes/). You can also store files somewhere else with # (for example): # # volumes: # - /path/to/elastic-data:/usr/share/elasticsearch/data # [local path]:[container path] # # In this case, you need to make sure that the folder `/path/to/elastic-data` exists and Docker # has read and write access to it. volumes: - elastic-volume:/usr/share/elasticsearch/data:rw networks: amcat-net: volumes: elastic-volume: