version: '3' services: psql14: image: postgres:14 container_name: cf2022-db volumes: - ./tmp/data/postgres14__db:/var/lib/postgresql:delegated environment: - POSTGRES_USER=my_app - POSTGRES_PASSWORD=secret - POSTGRES_DB=my_app - PGUSER=my_app - PGDATABASE=my_app - PGPASSWORD=secret ports: - '9432:5432' cakephp: build: context: . dockerfile: Dockerfile container_name: cf2022 working_dir: /application volumes: - ./:/application:cached - ~/.ssh:/home/application/.ssh:ro environment: - WEB_DOCUMENT_ROOT=/application/webroot - DATABASE_URL=postgres://my_app:secret@cf2022-db:5432/my_app - ELASTIC_URL=Cake\ElasticSearch\Datasource\Connection://elasticsearch:9200?driver=Cake\ElasticSearch\Datasource\Connection ports: - "8099:80" elasticsearch: image: "elasticsearch:7.17.5" ports: - 9200/tcp environment: discovery.type: single-node ES_JAVA_OPTS: -Xms500m -Xmx500m healthcheck: test: "curl -f http://127.0.0.1:9200/_cluster/health || exit 1" interval: "10s" timeout: "5s" retries: 10