version: '3.8'

services:
  app:
    volumes:
      - ${SRC_PATH}/container-bin/wait-for.sh:/usr/local/bin/wait-for
      - ${SRC_PATH}/container-bin/strapi-liftoff.sh:/usr/local/bin/strapi-liftoff
    expose:
      - 1337
    networks:
      - nginx-proxy
      - mongo
    env_file:
      - ./.strapi.env
    environment:
      - DATABASE_HOST=mongo
      - DATABASE_PORT=27017
      - DATABASE_NAME=strapi
    depends_on:
      - mongo
    command: ["wait-for", "mongo:27017", "--", "strapi-liftoff"]
  mongo:
    image: mongo
    volumes:
      - ./data/db:/data/db
    networks:
      - mongo
    environment:
      - MONGO_INITDB_ROOT_USERNAME=${DATABASE_USERNAME}
      - MONGO_INITDB_ROOT_PASSWORD=${DATABASE_PASSWORD}

networks:
  nginx-proxy:
    external: true
  mongo:
    internal: true
