services:
  devicehub-django:
    init: true
    image: farga.pangea.org/ereuse/devicehub-django/latest
    build:
      context: .
      dockerfile: docker/devicehub-django.Dockerfile
    environment:
      - DEBUG=${DEBUG:-false}
      - DOMAIN=${DEVICEHUB_DOMAIN:-localhost}
      - PORT=${DEVICEHUB_PORT:-8000}
      - ALLOWED_HOSTS=${DEVICEHUB_ALLOWED_HOSTS:-$DEVICEHUB_DOMAIN}
      - DEMO=${DEMO:-false}
      - DEMO_IDHUB_DOMAIN=${DEMO_IDHUB_DOMAIN:-localhost}
      - DEMO_IDHUB_PREDEFINED_TOKEN=${IDHUB_PREDEFINED_TOKEN:-}
      - PREDEFINED_TOKEN=${PREDEFINED_TOKEN:-}
      - DPP=${DPP:-false}
    # TODO manage volumes dev vs prod
    volumes:
      - .:/opt/devicehub-django
    ports:
      - ${DEVICEHUB_PORT:-8000}:${DEVICEHUB_PORT:-8000}

  # TODO add database service for idhub, meanwhile sqlite

  idhub:
    # https://docs.docker.com/compose/how-tos/profiles/
    profiles: [idhub]
    init: true
    image: farga.pangea.org/ereuse/idhub/latest
    environment:
      - DOMAIN=${IDHUB_DOMAIN:-localhost}
      - ALLOWED_HOSTS=${IDHUB_ALLOWED_HOSTS:-$IDHUB_DOMAIN}
      - DEBUG=true
      - INITIAL_ADMIN_EMAIL=${IDHUB_ADMIN_EMAIL}
      - INITIAL_ADMIN_PASSWORD=${IDHUB_ADMIN_PASSWD}
      - CREATE_TEST_USERS=true
      - ENABLE_EMAIL=${IDHUB_ENABLE_EMAIL:-true}
      - ENABLE_2FACTOR_AUTH=${IDHUB_ENABLE_2FACTOR_AUTH:-true}
      - ENABLE_DOMAIN_CHECKER=${IDHUB_ENABLE_DOMAIN_CHECKER:-true}
      - PREDEFINED_TOKEN=${IDHUB_PREDEFINED_TOKEN:-}
      - SECRET_KEY=${IDHUB_SECRET_KEY:-publicsecretisnotsecureVtmKBfxpVV47PpBCF2Nzz2H6qnbd}
      - STATIC_ROOT=${IDHUB_STATIC_ROOT:-/static/}
      - MEDIA_ROOT=${IDHUB_MEDIA_ROOT:-/media/}
      - PORT=${IDHUB_PORT:-9001}
      - DEFAULT_FROM_EMAIL=${IDHUB_DEFAULT_FROM_EMAIL}
      - EMAIL_HOST=${IDHUB_EMAIL_HOST}
      - EMAIL_HOST_USER=${IDHUB_EMAIL_HOST_USER}
      - EMAIL_HOST_PASSWORD=${IDHUB_EMAIL_HOST_PASSWORD}
      - EMAIL_PORT=${IDHUB_EMAIL_PORT}
      - EMAIL_USE_TLS=${IDHUB_EMAIL_USE_TLS}
      - EMAIL_BACKEND=${IDHUB_EMAIL_BACKEND}
      - SUPPORTED_CREDENTIALS=['Snapshot']
      - SYNC_ORG_DEV=${IDHUB_SYNC_ORG_DEV}
    ports:
      - 9001:9001

  # TODO add database service for idhub, meanwhile sqlite