diff --git a/docker-platform/docker-compose-aio.yml b/docker-platform/docker-compose-aio.yml new file mode 100644 index 000000000..c357561cc --- /dev/null +++ b/docker-platform/docker-compose-aio.yml @@ -0,0 +1,14 @@ +services: + wirecloud: + image: fiware/wirecloud:latest + volumes: + - wirecloud-data:/opt/wirecloud_instance/data + - wirecloud-static:/var/www/static + ports: + - '80:8000' + command: [ "gunicorn-aio" ] + restart: always + +volumes: + wirecloud-data: + wirecloud-static: diff --git a/docker-platform/docker-compose-config-file.yml b/docker-platform/docker-compose-config-file.yml index 3819ebb96..1f32e675e 100644 --- a/docker-platform/docker-compose-config-file.yml +++ b/docker-platform/docker-compose-config-file.yml @@ -1,68 +1,60 @@ -version: "3" - services: - - nginx: - restart: always - image: nginx:latest - ports: - - 80:80 - volumes: - - ./nginx.conf:/etc/nginx/nginx.conf:ro - - wirecloud-static:/var/www/static:ro - depends_on: - - wirecloud - - - postgres: - restart: always - image: postgres:latest - environment: - - POSTGRES_PASSWORD=wirepass # Change this password! - volumes: - - postgres-data:/var/lib/postgresql/data - - - elasticsearch: - restart: always - image: elasticsearch:2.4 - volumes: - - elasticsearch-data:/usr/share/elasticsearch/data - command: elasticsearch -Des.index.max_result_window=50000 - - - memcached: - restart: always - image: memcached:1 - command: memcached -m 2048m - - - wirecloud: - restart: always - image: fiware/wirecloud:latest - depends_on: - - postgres - - elasticsearch - - memcached - environment: - - DEBUG=False - # - DEFAULT_THEME=wirecloud.defaulttheme - - DB_HOST=postgres - - DB_PASSWORD=wirepass # Change this password! - - FORWARDED_ALLOW_IPS=* - - ELASTICSEARCH2_URL=http://elasticsearch:9200/ - - MEMCACHED_LOCATION=memcached:11211 - # Uncomment the following environment variables to enable IDM integration - #- FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER} - #- SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY} - #- SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET} - volumes: - - wirecloud-data:/opt/wirecloud_instance/data - - wirecloud-static:/var/www/static - - ./settings.py:/opt/wirecloud_instance/wirecloud_instance/settings.py:ro + elasticsearch: + image: elasticsearch:2.4 + volumes: + - elasticsearch-data:/usr/share/elasticsearch/data + command: elasticsearch -Des.index.max_result_window=50000 + restart: always + + memcached: + image: memcached:1 + command: memcached -m 2048m + restart: always + nginx: + image: nginx:latest + depends_on: + - wirecloud + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + - wirecloud-static:/var/www/static:ro + ports: + - '80:80' + restart: always + + postgres: + image: postgres:latest + volumes: + - postgres-data:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=wirepass # Change this password! + restart: always + + wirecloud: + image: fiware/wirecloud:latest + depends_on: + - elasticsearch + - memcached + - postgres + volumes: + - wirecloud-data:/opt/wirecloud_instance/data + - wirecloud-static:/var/www/static + - ./settings.py:/opt/wirecloud_instance/wirecloud_instance/settings.py:ro + environment: + - DEBUG=False + # - DEFAULT_THEME=wirecloud.defaulttheme + - DB_HOST=postgres + - DB_PASSWORD=wirepass # Change this password! + - FORWARDED_ALLOW_IPS=* + - ELASTICSEARCH2_URL=http://elasticsearch:9200/ + - MEMCACHED_LOCATION=memcached:11211 + # Uncomment the following environment variables to enable IDM integration + #- FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER} + #- SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY} + #- SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET} + restart: always volumes: - elasticsearch-data: - postgres-data: - wirecloud-data: - wirecloud-static: + elasticsearch-data: + postgres-data: + wirecloud-data: + wirecloud-static: diff --git a/docker-platform/docker-compose-custom-user.yml b/docker-platform/docker-compose-custom-user.yml index de9cb143b..01290f6fc 100644 --- a/docker-platform/docker-compose-custom-user.yml +++ b/docker-platform/docker-compose-custom-user.yml @@ -1,17 +1,14 @@ -version: "3" - services: - - wirecloud: - restart: always - image: fiware/wirecloud:latest - # If you want to use a user from the host, provide here the id of the - # user, e.g. `export WIRECLOUD_USER=$(id -u username)` - user: ${WIRECLOUD_USER:-0} - ports: - - 80:8000 - environment: - - DEBUG=True - volumes: - - ./wirecloud-data:/opt/wirecloud_instance/data - - ./wirecloud-static:/var/www/static + wirecloud: + image: fiware/wirecloud:latest + volumes: + - ./wirecloud-data:/opt/wirecloud_instance/data + - ./wirecloud-static:/var/www/static + environment: + - DEBUG=True + ports: + - '80:8000' + restart: always + # If you want to use a user from the host, provide here the id of the + # user, e.g. `export WIRECLOUD_USER=$(id -u username)` + user: ${WIRECLOUD_USER:-0} diff --git a/docker-platform/docker-compose-idm.yml b/docker-platform/docker-compose-idm.yml index cdcfd1ef1..a97bba0b2 100644 --- a/docker-platform/docker-compose-idm.yml +++ b/docker-platform/docker-compose-idm.yml @@ -1,83 +1,73 @@ -version: "3" - services: + elasticsearch: + image: elasticsearch:2.4 + volumes: + - elasticsearch-data:/usr/share/elasticsearch/data + command: elasticsearch -Des.index.max_result_window=50000 + restart: always - nginx: - restart: always - image: nginx:latest - ports: - - 80:80 - volumes: - - ./nginx.conf:/etc/nginx/nginx.conf:ro - - wirecloud-static:/var/www/static:ro - depends_on: - - wirecloud - - - postgres: - restart: always - image: postgres:latest - environment: - - POSTGRES_PASSWORD=wirepass # Change this password! - volumes: - - postgres-data:/var/lib/postgresql/data - - - elasticsearch: - restart: always - image: elasticsearch:2.4 - volumes: - - elasticsearch-data:/usr/share/elasticsearch/data - command: elasticsearch -Des.index.max_result_window=50000 - - - memcached: - restart: always - image: memcached:1 - command: memcached -m 2048m - - - mysql: - restart: always - image: mysql/mysql-server:5.7.21 - environment: - - MYSQL_ROOT_PASSWORD=idm - - MYSQL_ROOT_HOST=% + keyrock: + image: fiware/idm:7.0.2 + environment: + - DATABASE_HOST=mysql + ports: + - '3000:3000' + restart: always + memcached: + image: memcached:1 + command: memcached -m 2048m + restart: always - keyrock: - restart: always - image: fiware/idm:7.0.2 - ports: - - 3000:3000 - environment: - - DATABASE_HOST=mysql + mysql: + image: mysql/mysql-server:5.7.21 + environment: + - MYSQL_ROOT_PASSWORD=idm + - MYSQL_ROOT_HOST=% + restart: always + nginx: + image: nginx:latest + depends_on: + - wirecloud + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + - wirecloud-static:/var/www/static:ro + ports: + - '80:80' + restart: always + postgres: + image: postgres:latest + volumes: + - postgres-data:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=wirepass # Change this password! + restart: always - wirecloud: - restart: always - image: fiware/wirecloud:latest - depends_on: - - postgres - - elasticsearch - - memcached - environment: - - DEBUG=False - # - DEFAULT_THEME=wirecloud.defaulttheme - - DB_HOST=postgres - - DB_PASSWORD=wirepass # Change this password! - - FORWARDED_ALLOW_IPS=* - - ELASTICSEARCH2_URL=http://elasticsearch:9200/ - - MEMCACHED_LOCATION=memcached:11211 - - FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER} - - SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY} - - SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET} - volumes: - - wirecloud-data:/opt/wirecloud_instance/data - - wirecloud-static:/var/www/static + wirecloud: + image: fiware/wirecloud:latest + depends_on: + - elasticsearch + - memcached + - postgres + volumes: + - wirecloud-data:/opt/wirecloud_instance/data + - wirecloud-static:/var/www/static + environment: + - DEBUG=False + # - DEFAULT_THEME=wirecloud.defaulttheme + - DB_HOST=postgres + - DB_PASSWORD=wirepass # Change this password! + - FORWARDED_ALLOW_IPS=* + - ELASTICSEARCH2_URL=http://elasticsearch:9200/ + - MEMCACHED_LOCATION=memcached:11211 + - FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER} + - SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY} + - SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET} + restart: always volumes: - elasticsearch-data: - postgres-data: - wirecloud-data: - wirecloud-static: + elasticsearch-data: + postgres-data: + wirecloud-data: + wirecloud-static: diff --git a/docker-platform/docker-compose-simple.yml b/docker-platform/docker-compose-simple.yml index 1fa7e9938..265502863 100644 --- a/docker-platform/docker-compose-simple.yml +++ b/docker-platform/docker-compose-simple.yml @@ -1,29 +1,25 @@ -version: "3" - services: + nginx: + image: nginx:latest + depends_on: + - wirecloud + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + - wirecloud-static:/var/www/static:ro + ports: + - '80:80' + restart: always - nginx: - restart: always - image: nginx:latest - ports: - - 80:80 - volumes: - - ./nginx.conf:/etc/nginx/nginx.conf:ro - - wirecloud-static:/var/www/static:ro - depends_on: - - wirecloud - - - wirecloud: - restart: always - image: fiware/wirecloud:latest - environment: - - DEBUG=False - - FORWARDED_ALLOW_IPS=* - volumes: - - wirecloud-data:/opt/wirecloud_instance/data - - wirecloud-static:/var/www/static + wirecloud: + image: fiware/wirecloud:latest + volumes: + - wirecloud-data:/opt/wirecloud_instance/data + - wirecloud-static:/var/www/static + environment: + - DEBUG=False + - FORWARDED_ALLOW_IPS=* + restart: always volumes: - wirecloud-data: - wirecloud-static: + wirecloud-data: + wirecloud-static: diff --git a/docker-platform/docker-compose-standalone.yml b/docker-platform/docker-compose-standalone.yml index 8c7b27a5c..cfcbec420 100644 --- a/docker-platform/docker-compose-standalone.yml +++ b/docker-platform/docker-compose-standalone.yml @@ -1,18 +1,15 @@ -version: "3" - services: - - wirecloud: - restart: always - image: fiware/wirecloud:latest - ports: - - 80:8000 - environment: - - DEBUG=True - volumes: - - wirecloud-data:/opt/wirecloud_instance/data - - wirecloud-static:/var/www/static + wirecloud: + image: fiware/wirecloud:latest + volumes: + - wirecloud-data:/opt/wirecloud_instance/data + - wirecloud-static:/var/www/static + environment: + - DEBUG=True + ports: + - '80:8000' + restart: always volumes: - wirecloud-data: - wirecloud-static: + wirecloud-data: + wirecloud-static: diff --git a/docker-platform/docker-compose.yml b/docker-platform/docker-compose.yml index 447315f6c..0e966b18b 100644 --- a/docker-platform/docker-compose.yml +++ b/docker-platform/docker-compose.yml @@ -1,75 +1,67 @@ -version: "3" - services: + elasticsearch: + image: elasticsearch:2.4 + volumes: + - elasticsearch-data:/usr/share/elasticsearch/data + command: elasticsearch -Des.index.max_result_window=50000 + restart: always - nginx: - restart: always - image: nginx:latest - ports: - - 80:80 - volumes: - - ./nginx.conf:/etc/nginx/nginx.conf:ro - - wirecloud-static:/var/www/static:ro - depends_on: - - wirecloud - - - postgres: - restart: always - image: postgres:latest - environment: - - POSTGRES_PASSWORD=wirepass # Change this password! - volumes: - - postgres-data:/var/lib/postgresql/data - - - elasticsearch: - restart: always - image: elasticsearch:2.4 - volumes: - - elasticsearch-data:/usr/share/elasticsearch/data - command: elasticsearch -Des.index.max_result_window=50000 - - - memcached: - restart: always - image: memcached:1 - command: memcached -m 2048m + memcached: + image: memcached:1 + command: memcached -m 2048m + restart: always + nginx: + image: nginx:latest + depends_on: + - wirecloud + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf:ro + - wirecloud-static:/var/www/static:ro + ports: + - '80:80' + restart: always + postgres: + image: postgres:latest + volumes: + - postgres-data:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=wirepass # Change this password! + restart: always - wirecloud: - restart: always - image: fiware/wirecloud:latest - depends_on: - - postgres - - elasticsearch - - memcached - environment: - - DEBUG=False - - LOGLEVEL=INFO - # - DEFAULT_THEME=wirecloud.defaulttheme - - DB_HOST=postgres - - DB_PASSWORD=wirepass # Change this password! - - FORWARDED_ALLOW_IPS=* - - ELASTICSEARCH2_URL=http://elasticsearch:9200/ - - MEMCACHED_LOCATION=memcached:11211 - # Uncomment the following environment variables to enable FIWARE IDM integration - #- FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER} - #- SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY} - #- SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET} - # Uncomment the following environment variables to enable Keycloak IDM Integration - #- KEYCLOAK_IDM_SERVER=${KEYCLOAK_IDM_SERVER} - #- KEYCLOAK_REALM=${KEYCLOAK_REALM} - #- KEYCLOAK_KEY=${KEYCLOAK_KEY} - #- KEYCLOAK_GLOBAL_ROLE=${KEYCLOAK_GLOBAL_ROLE} - #- SOCIAL_AUTH_KEYCLOAK_KEY=${SOCIAL_AUTH_KEYCLOAK_KEY} - #- SOCIAL_AUTH_KEYCLOAK_SECRET=${SOCIAL_AUTH_KEYCLOAK_SECRET} - volumes: - - wirecloud-data:/opt/wirecloud_instance/data - - wirecloud-static:/var/www/static + wirecloud: + image: fiware/wirecloud:latest + depends_on: + - elasticsearch + - memcached + - postgres + volumes: + - wirecloud-data:/opt/wirecloud_instance/data + - wirecloud-static:/var/www/static + environment: + - DEBUG=False + - LOGLEVEL=INFO + # - DEFAULT_THEME=wirecloud.defaulttheme + - DB_HOST=postgres + - DB_PASSWORD=wirepass # Change this password! + - FORWARDED_ALLOW_IPS=* + - ELASTICSEARCH2_URL=http://elasticsearch:9200/ + - MEMCACHED_LOCATION=memcached:11211 + # Uncomment the following environment variables to enable FIWARE IDM integration + #- FIWARE_IDM_SERVER=${FIWARE_IDM_SERVER} + #- SOCIAL_AUTH_FIWARE_KEY=${SOCIAL_AUTH_FIWARE_KEY} + #- SOCIAL_AUTH_FIWARE_SECRET=${SOCIAL_AUTH_FIWARE_SECRET} + # Uncomment the following environment variables to enable Keycloak IDM Integration + #- KEYCLOAK_IDM_SERVER=${KEYCLOAK_IDM_SERVER} + #- KEYCLOAK_REALM=${KEYCLOAK_REALM} + #- KEYCLOAK_KEY=${KEYCLOAK_KEY} + #- KEYCLOAK_GLOBAL_ROLE=${KEYCLOAK_GLOBAL_ROLE} + #- SOCIAL_AUTH_KEYCLOAK_KEY=${SOCIAL_AUTH_KEYCLOAK_KEY} + #- SOCIAL_AUTH_KEYCLOAK_SECRET=${SOCIAL_AUTH_KEYCLOAK_SECRET} + restart: always volumes: - elasticsearch-data: - postgres-data: - wirecloud-data: - wirecloud-static: + elasticsearch-data: + postgres-data: + wirecloud-data: + wirecloud-static: diff --git a/docker-platform/tests.py b/docker-platform/tests.py index 8a4df4d65..b67cd558c 100644 --- a/docker-platform/tests.py +++ b/docker-platform/tests.py @@ -234,5 +234,27 @@ def tearDownClass(cls): print(flush=True) +class AioTests(unittest.TestCase, WireCloudTests): + + @classmethod + def setUpClass(cls): + print("\n################################################################################\n") + print("#") + print("# Initializing aio test case") + print("#\n", flush=True) + sh.docker.compose("-f", "docker-compose-aio.yml", "up", d=True, remove_orphans=True, _fg=True) + wait_until_running() + print(flush=True) + + @classmethod + def tearDownClass(cls): + print() + print("#") + print("# Removing containers and volumes") + print("#\n", flush=True) + sh.docker.compose.down(remove_orphans=True, v=True, _fg=True) + print(flush=True) + + if __name__ == "__main__": unittest.main(verbosity=2)