version: '3.3'
services:
  elb:
    image: lucaapp/elb:${IMAGE_TAG}
    build:
      context: 'services/elb'
    ports:
      - 80:8080
      - 443:8443
  backend:
    image: lucaapp/backend:${IMAGE_TAG}
    build:
      context: 'services/backend'
      args:
        - NPM_CONFIG__AUTH
        - GIT_VERSION
        - GIT_COMMIT
    environment:
      - SKIP_SMS_VERIFICATION
  locations:
    image: lucaapp/locations:${IMAGE_TAG}
    build:
      context: 'services/locations'
      args:
        - NPM_CONFIG__AUTH
        - REACT_APP_GOOGLE_MAPS_API_KEY
        - GIT_VERSION
        - GIT_COMMIT
  health-department:
    image: lucaapp/health-department:${IMAGE_TAG}
    build:
      context: 'services/health-department'
      args:
        - NPM_CONFIG__AUTH
        - GIT_VERSION
        - GIT_COMMIT
  contact-form:
    image: lucaapp/contact-form:${IMAGE_TAG}
    build:
      context: 'services/contact-form'
      args:
        - NPM_CONFIG__AUTH
        - GIT_VERSION
        - GIT_COMMIT
  webapp:
    image: lucaapp/webapp:${IMAGE_TAG}
    build:
      context: 'services/webapp'
      args:
        - NPM_CONFIG__AUTH
        - GIT_VERSION
        - GIT_COMMIT
  scanner:
    image: lucaapp/scanner:${IMAGE_TAG}
    build:
      context: 'services/scanner'
      args:
        - NPM_CONFIG__AUTH
        - GIT_VERSION
        - GIT_COMMIT
  maintenance:
    image: lucaapp/maintenance:latest
    build:
      context: 'services/maintenance'
  database:
    image: postgres:11.9-alpine
    restart: always
    ports:
      - '5432:5432'
    environment:
      PGDATA: /data/postgres
      POSTGRES_DB: luca-backend
      POSTGRES_USER: luca
      POSTGRES_PASSWORD: lcadmin
    volumes:
      - ./local-data/postgres:/data/postgres
  redis:
    image: redis:6.0.9-alpine3.12
    command: ['redis-server', '/usr/local/etc/redis/redis.conf']
    ports:
      - '6379:6379'
    volumes:
      - ./services/redis/redis.conf:/usr/local/etc/redis/redis.conf