version: "3.9"
services:

  devicehub:
    init: true
    image: dkr-dsg.ac.upc.edu/ereuse/devicehub:dpp__c6ec6658
    environment:
      - DB_USER=${DB_USER}
      - DB_PASSWORD=${DB_PASSWORD}
      - DB_HOST=postgres
      - DB_DATABASE=${DB_DATABASE}
      - HOST=${HOST}
      - EMAIL_DEMO=${EMAIL_DEMO}
      - PASSWORD_DEMO=${PASSWORD_DEMO}
      - JWT_PASS=${JWT_PASS}
      - SECRET_KEY=${SECRET_KEY}
      - DEVICEHUB_HOST=${DEVICEHUB_HOST}
      - URL_MANUALS=${URL_MANUALS}
      - DPP_MODULE=n
      - IMPORT_SNAPSHOTS=${IMPORT_SNAPSHOTS}
      - DEPLOYMENT=${DEPLOYMENT}
    ports:
      - 5000:5000
    volumes:
      - ${SNAPSHOTS_PATH:-./examples/snapshots}:/mnt/snapshots:ro
      - shared:/shared:rw
      - app:/opt/devicehub:rw

  postgres:
    image: dkr-dsg.ac.upc.edu/ereuse/postgres:dpp__c6ec6658
    # 4. To create the database.
    # 5. Give permissions to the corresponding users in the database.
    #   extra src https://github.com/docker-library/docs/blob/master/postgres/README.md#environment-variables
    environment:
      - POSTGRES_PASSWORD=${DB_PASSWORD}
      - POSTGRES_USER=${DB_USER}
      - POSTGRES_DB=${DB_DATABASE}
    volumes:
      - pg_data:/var/lib/postgresql/data
    # DEBUG
    #ports:
    #  - 5432:5432

  nginx:
    image: nginx
    ports:
      - 8080:8080
    volumes:
      - ./docker/nginx-devicehub.nginx.conf:/etc/nginx/nginx.conf:ro

volumes:
  shared:
  pg_data:
  app: