xos_db:
    image: xosproject/xos-postgres
    expose:
        - "5432"

xos_synchronizer_openstack:
    image: xosproject/xos-synchronizer-openstack
    command: bash -c "update-ca-certificates; sleep 120; python /opt/xos/synchronizers/openstack/xos-synchronizer.py"
    #command: sleep 86400
    labels:
        org.xosproject.kind: synchronizer
        org.xosproject.target: openstack
    links:
        - xos_db
    volumes:
        - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
        - /usr/local/share/ca-certificates:/usr/local/share/ca-certificates:ro
        - ./files/xos_opencloud_config:/opt/xos/xos_configuration/xos_opencloud_config:ro
        - ./images:/opt/xos/images:ro

xos_synchronizer_hpc:
    image: xosproject/xos-synchronizer-openstack
    command: bash -c "sleep 120; python /opt/xos/synchronizers/hpc/hpc-synchronizer.py -C /opt/xos/synchronizers/hpc/hpc_synchronizer_config"
    #command: sleep 86400
    labels:
        org.xosproject.kind: synchronizer
        org.xosproject.target: hpc
    links:
        - xos_db
    volumes:
        - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
        - /usr/local/share/ca-certificates:/usr/local/share/ca-certificates:ro
        - ./files/xos_opencloud_config:/opt/xos/xos_configuration/xos_opencloud_config:ro

xos_watcher_hpc:
    image: xosproject/xos-synchronizer-openstack
    command: bash -c "sleep 120; python /opt/xos/synchronizers/hpc/hpc_watcher.py"
    #command: sleep 86400
    labels:
        org.xosproject.kind: watcher
        org.xosproject.target: hpc
    links:
        - xos_db
    volumes:
        - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
        - /usr/local/share/ca-certificates:/usr/local/share/ca-certificates:ro
        - ./files/xos_opencloud_config:/opt/xos/xos_configuration/xos_opencloud_config:ro

# FUTURE
#xos_swarm_synchronizer:
#    image: xosproject/xos-swarm-synchronizer
#    labels:
#        org.xosproject.kind: synchronizer
#        org.xosproject.target: swarm

xos:
    image: xosproject/xos
    command: python /opt/xos/manage.py runserver 0.0.0.0:8000 --insecure --makemigrations
    ports:
        - "80:8000"
    links:
        - xos_db
    volumes:
      - ../common/xos_common_config:/opt/xos/xos_configuration/xos_common_config:ro
      - ./files/xos_opencloud_config:/opt/xos/xos_configuration/xos_opencloud_config:ro
