version: '2'

services:
  service-ram:
    build: .
    image: registry.forge.grandlyon.com/pamn_plateforme-des-acteurs-de-la-mediation-numerique/pamn_server:${TAG}
    ports:
      - ${SERVICE_API_BIND_PORT}:3000
    environment:
      MONGO_NON_ROOT_USERNAME: ${MONGO_NON_ROOT_USERNAME}
      MONGO_NON_ROOT_PASSWORD: ${MONGO_NON_ROOT_PASSWORD}
      MONGO_DB_HOST_AND_PORT: ${MONGO_DB_HOST_AND_PORT}
    restart: unless-stopped
    depends_on:
      - database-ram

  database-ram:
    image: bitnami/mongodb:4.2.3
    user: root
    environment:
      MONGODB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWORD}
      MONGODB_USERNAME: ${MONGO_NON_ROOT_USERNAME}
      MONGODB_PASSWORD: ${MONGO_NON_ROOT_PASSWORD}
      MONGODB_DATABASE: ram
    restart: unless-stopped
    ports:
      - ${MONGO_PORT}:27017
    volumes:
      - db-ram:/bitnami

  mongo-express:
    image: mongo-express
    restart: unless-stopped
    depends_on:
      - database-ram
    ports:
      - ${ME_PORT}:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: ${MONGO_ROOT_PASSWORD}
      ME_CONFIG_BASICAUTH_USERNAME: ${ME_CONFIG_BASICAUTH_USERNAME}
      ME_CONFIG_BASICAUTH_PASSWORD: ${ME_CONFIG_BASICAUTH_PASSWORD}
      ME_CONFIG_MONGODB_SERVER: database-ram

  ghost:
    image: ghost:latest
    restart: always
    ports:
      - ${GHOST_PORT}:2368
    environment:
      # see https://docs.ghost.org/docs/config#section-running-ghost-with-config-env-variables
      database__client: mysql
      database__connection__host: ghost-db
      database__connection__user: root
      database__connection__password: ${GHOST_DB_PASSWORD}
      database__connection__database: ghost
      # this url value is just an example, and is likely wrong for your environment!
      url: http://localhost:${GHOST_PORT}

  ghost-db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${GHOST_DB_PASSWORD}
    volumes:
      - db-ghost

volumes:
  db-ram:
  db-ghost:
