version: '3'
services:

  slurmclustermaster:
    image: "rosetta/slurmclustermaster"
    container_name: slurmclustermaster
    hostname: slurmclustermaster
    restart: unless-stopped
    environment:
      - SAFEMODE=False
    privileged: true
    volumes:
      - ./data/shared:/shared

  slurmclusterworker:
    image: "rosetta/slurmclusterworker"
    container_name: slurmclusterworker
    hostname: slurmclusterworker
    restart: unless-stopped
    environment:
      - SAFEMODE=False
    privileged: true
    volumes:
      - ./data/shared:/shared
      - /var/run/docker.sock:/var/run/docker.sock

  standaloneworker:
    image: "rosetta/standaloneworker"
    container_name: standaloneworker
    hostname: standaloneworker
    privileged: true
    restart: unless-stopped
    volumes:
      - ./data/shared:/shared
      - /var/run/docker.sock:/var/run/docker.sock

  dregistry:
    container_name: dregistry
    hostname: dregistry
    image: "rosetta/dregistry"
    restart: unless-stopped
    volumes:
      - ./data/dregistry:/var/lib/registry

  postgres:
    image: "rosetta/postgres"
    container_name: postgres
    hostname: postgres
    restart: unless-stopped
    environment:
      - SAFEMODE=False
    volumes:
      - ./data/postgres/data:/data    

  webapp:
    image: "rosetta/webapp"
    container_name: webapp
    hostname: webapp
    restart: unless-stopped
    environment:
      - SAFEMODE=False
      - DJANGO_DB_ENGINE="django.db.backends.postgresql_psycopg2"
      - DJANGO_DB_NAME="rosetta"
      - DJANGO_DB_USER="rosetta_master"
      - DJANGO_DB_PASSWORD="949fa84a"
      - DJANGO_DB_HOST="postgres"
      - DJANGO_DB_PORT=5432
      - DJANGO_DEV_SERVER=True
      - DJANGO_DEBUG=True
      - DJANGO_LOG_LEVEL=CRITICAL
      - ROSETTA_LOG_LEVEL=DEBUG
      #- ROSETTA_WEBAPP_HOST=localhost # Internal, for the agent
      #- ROSETTA_WEBAPP_PORT=8080      # Internal, for the agent
      #- ROSETTA_REGISTRY_HOST=proxy
      #- ROSETTA_REGISTRY_PORT=5000
      #- DJANGO_EMAIL_APIKEY=""
      #- DJANGO_EMAIL_FROM="Rosetta Platform <notifications@rosetta.platform>"
      #- DJANGO_SECRET_KEY=""
      #- ROSETTA_TASKS_PROXY_HOST=
      #- ROSETTA_TASKS_TUNNEL_HOST=
      - ROSETTA_HOST=localhost
      
    ports:
      - "8080:8080"
      - "7000-7020:7000-7020"
    volumes:
      - ./data/shared:/shared
      - ./data/webapp/data:/data
      - ./data/webapp/log:/var/log/webapp
      - /var/run/docker.sock:/var/run/docker.sock
      #- ./services/webapp/code:/opt/code

  proxy:
    image: "rosetta/proxy"
    container_name: proxy
    hostname: proxy
    environment:
      - SAFEMODE=False
      - ROSETTA_HOST=localhost
      - ROSETTA_TASKS_PROXY_HOST=localhost
    ports:
      - "80:80"
      - "443:443"
      - "9000-9020:9000-9020"
      - "5000:5000"
    volumes:
      - ./data/shared:/shared
      - ./data/proxy/letsencrypt:/etc/letsencrypt
      - ./data/proxy/log:/var/log/proxy