version: '3' services: web: platform: linux/x86_64 container_name: protectedplanet-web build: . command: /bin/bash -l -c "rm -rf /ProtectedPlanet/tmp/pids/server.pid;bundle i;yarn install; bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - .:/ProtectedPlanet - ~/.ssh/id_ed25519:/root/.ssh/id_ed25519 - protectedplanet_node_modules:/ProtectedPlanet/node_modules - protectedplanet_import_data:/import_data - protectedplanet_bundler:/usr/local/bundle - /run/host-services/ssh-auth.sock:/ssh-agent # Use this setting for Mac OS X and comment out ${SSH_AUTH_SOCK}:/ssh-agent below ports: - "3000:3000" networks: - protectedplanet environment: - PUPPETEER_SKIP_DOWNLOAD=true - SSH_AUTH_SOCK=/ssh-agent - WEBPACKER_DEV_SERVER_HOST=webpacker env_file: - '.env' depends_on: - db - redis - elasticsearch - webpacker stdin_open: true tty: true db: platform: linux/x86_64 container_name: protectedplanet-db image: kartoza/postgis:11.5-2.5 ports: - "5441:5432" networks: - protectedplanet env_file: - '.env' volumes: - protectedplanet_pg_data:/var/lib/postgresql - ./entrypoints/init.sql:/docker-entrypoint-initdb.d/init.sql redis: platform: linux/x86_64 container_name: protectedplanet-redis image: redis ports: - "6379:6379" networks: - protectedplanet env_file: - '.env' volumes: - protectedplanet_redis_data:/data sidekiq: platform: linux/x86_64 build: . volumes: - .:/ProtectedPlanet - protectedplanet_node_modules:/ProtectedPlanet/node_modules - protectedplanet_import_data:/import_data - protectedplanet_bundler:/usr/local/bundle networks: - protectedplanet depends_on: - db - redis command: /bin/bash -l -c "bundle exec sidekiq" env_file: - '.env' stdin_open: true tty: true elasticsearch: # platform: linux/x86_64 container_name: protectedplanet-elasticsearch image: elasticsearch:8.6.0 environment: - cluster.name=docker-cluster - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 ports: - "9200:9200" networks: - protectedplanet env_file: - '.env' volumes: - 'protectedplanet_es_data:/usr/share/elasticsearch/data' kibana: # platform: linux/x86_64 image: kibana:8.6.0 environment: - ELASTICSEARCH_HOSTS=http://protectedplanet-elasticsearch:9200 env_file: - '.env' ports: - "5601:5601" networks: - protectedplanet webpacker: platform: linux/x86_64 container_name: protectedplanet-webpacker build: . env_file: - '.env' command: /bin/bash -l -c "rm -rf /ProtectedPlanet/app/public/packs; bundle i;yarn install; rm -rf /ProtectedPlanet/tmp/cache/webpacker; /ProtectedPlanet/docker/scripts/webpacker" volumes: - .:/ProtectedPlanet - protectedplanet_node_modules:/ProtectedPlanet/node_modules - protectedplanet_bundler:/usr/local/bundle ports: - "3035:3035" networks: - protectedplanet api: platform: linux/x86_64 container_name: protectedplanet-api build: context: ${API_PATH} command: /bin/bash -l -c "bundle exec rackup --host 0.0.0.0" volumes: - ${API_PATH}:/ProtectedPlanetApi - /run/host-services/ssh-auth.sock:/ssh-agent # Use this setting for Mac OS X and comment out ${SSH_AUTH_SOCK}:/ssh-agent below ports: - "9292:9292" networks: - protectedplanet environment: - SSH_AUTH_SOCK=/ssh-agent env_file: - ${API_PATH}/.env depends_on: - db stdin_open: true tty: true profiles: ['api'] networks: protectedplanet: driver: bridge volumes: protectedplanet_pg_data: protectedplanet_redis_data: protectedplanet_import_data: protectedplanet_es_data: protectedplanet_bundler: protectedplanet_node_modules: