version: '2'
services:
  db:
    restart: always
    image: postgres:9.5
    expose:
      - "${PG_PORT}"
    ports:
      - "${PG_PORT}:5432"
    # Uncomment to test data migrations locally
    volumes:
      - ./data:/var/lib/postgresql/data/pgdata
    environment:
      # Uncomment to test data migrations locally
      - PGDATA=/var/lib/postgresql/data/pgdata
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_DB=${POSTGRES_DB}
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_PORT=${POSTGRES_PORT}
  geoip:
    restart: always
    image: fiorix/freegeoip
    expose:
      - "${GEO_IP_PORT}"
    ports:
      - "${GEO_IP_PORT}:8080"
  data:
    build:
      context: https://github.com/cristobal-io/aviation-pg.git#c2fe4536fb84e6521dc446e423d181269e3b7ed5
      # context: ../aviation-pg
    environment:
      - PG_USER=${PG_USER}
      - PG_DATABASE=${PG_DATABASE}
      - PG_PASSWORD=${PG_PASSWORD}
      - PG_HOST=${PG_HOST}
      - DB_USER=${DB_USER}
      - DB_NAME=${DB_NAME}
      - DB_PASSWORD=${DB_PASSWORD}
      - DB_HOST=${DB_HOST}
    depends_on:
      - db
  api:
    restart: always
    build:
      context: ./
    environment:
      - PG_USER=${PG_USER}
      - PG_DATABASE=${PG_DATABASE}
      - PG_PASSWORD=${PG_PASSWORD}
      - PG_HOST=${PG_HOST}
      - AVIATION_CORS_ORIGIN=http://aviation.cristobal.io
      - AVIATION_GEO_IP_SERVICE=http://geoip:${GEO_IP_PORT}/json/
    ports:
      - "${AVIATION_API_PORT}:8081"
    depends_on:
      - db
      - data
      - geoip