version: '3' services: db: image: postgres:12.9 environment: PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} # Un-comment to access the db service directly # ports: # - 5432:5432 networks: - db_net restart: unless-stopped volumes: - db_data:/var/lib/postgresql/data search: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0 environment: cluster.name: cleanspeak bootstrap.memory_lock: "true" discovery.type: single-node ES_JAVA_OPTS: ${ES_JAVA_OPTS} # Un-comment to access the search service directly # ports: # - 9200:9200 # - 9300:9300 networks: - es_net restart: unless-stopped ulimits: memlock: soft: -1 hard: -1 volumes: - es_data:/usr/share/elasticsearch/data cleanspeak-management-interface: image: cleanspeak/cleanspeak-management-interface:latest depends_on: - db - search environment: DATABASE_URL: jdbc:postgresql://db:5432/cleanspeak DATABASE_ROOT_USERNAME: ${POSTGRES_USER} DATABASE_ROOT_PASSWORD: ${POSTGRES_PASSWORD} DATABASE_USERNAME: ${DATABASE_USER} DATABASE_PASSWORD: ${DATABASE_PASSWORD} CLEANSPEAK_MANAGEMENT_INTERFACE_MEMORY: ${CLEANSPEAK_MEMORY} CLEANSPEAK_WEBSERVICE_URLS: http://cleanspeak-webservice:8001 LICENSE_ID: ${LICENSE_ID} SEARCH_SERVERS: http://search:9200 networks: - db_net - es_net restart: unless-stopped ports: - 8011:8011 volumes: - cs_config:/usr/local/cleanspeak/config cleanspeak-webservice: image: cleanspeak/cleanspeak-webservice:latest depends_on: - db - search environment: DATABASE_URL: jdbc:postgresql://db:5432/cleanspeak DATABASE_ROOT_USERNAME: ${POSTGRES_USER} DATABASE_ROOT_PASSWORD: ${POSTGRES_PASSWORD} DATABASE_USERNAME: ${DATABASE_USER} DATABASE_PASSWORD: ${DATABASE_PASSWORD} CLEANSPEAK_WEBSERVICE_MEMORY: ${CLEANSPEAK_MEMORY} LICENSE_ID: ${LICENSE_ID} SEARCH_SERVERS: http://search:9200 networks: - db_net - es_net restart: unless-stopped ports: - 8001:8001 volumes: - cs_config:/usr/local/cleanspeak/config networks: db_net: driver: bridge es_net: driver: bridge volumes: db_data: es_data: cs_config: