diff --git a/docker-compose.dem.dev.yml b/docker-compose.dem.dev.yml
index ef6ffc4e214e21e3810858cb10893fd895465519..c0cf7b5fe871f6016e0ea485e9238e1a5a229973 100644
--- a/docker-compose.dem.dev.yml
+++ b/docker-compose.dem.dev.yml
@@ -14,17 +14,11 @@ services:
       - type: bind
         source: ./data/
         target: /data/
-      - type: bind
-        source: ./core/eoxserver/eoxserver/
-        target: /usr/local/lib/python2.7/dist-packages/eoxserver/
   registrar:
     volumes:
       - type: bind
         source: ./data/
         target: /data/
-      - type: bind
-        source: ./core/eoxserver/eoxserver/
-        target: /usr/local/lib/python2.7/dist-packages/eoxserver/
       - type: bind
         source: ./core/
         target: /core/
diff --git a/docker-compose.dem.ops.yml b/docker-compose.dem.ops.yml
index 1521910cbe449610715ba60a753eed3e38b105ba..c74766660051eb7a99997ef74ef481714d665e5f 100644
--- a/docker-compose.dem.ops.yml
+++ b/docker-compose.dem.ops.yml
@@ -8,28 +8,27 @@ services:
           size: 536870912
   renderer:
     environment:
-      INSTALL_DIR: "/var/www/pdas/ops/"
+      INSTALL_DIR: "/var/www/pvs/ops/"
     deploy:
-      replicas: 3
       labels:
         # router for basic auth based access (https)
-        - "traefik.http.routers.dem-renderer.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/ows`, `/opensearch`, `/admin`)"
-        - "traefik.http.routers.dem-renderer.middlewares=auth@file,compress@file,cors@file"
+        - "traefik.http.routers.dem-renderer.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`)"
+        - "traefik.http.routers.dem-renderer.middlewares=auth@file,compress@file"
         - "traefik.http.routers.dem-renderer.tls=true"
         - "traefik.http.routers.dem-renderer.tls.certresolver=default"
         - "traefik.http.routers.dem-renderer.entrypoints=https"
         # router for basic auth based access (http)
-        - "traefik.http.routers.dem-renderer-redirect.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/ows`, `/opensearch`, `/admin`)"
+        - "traefik.http.routers.dem-renderer-redirect.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`)"
         - "traefik.http.routers.dem-renderer-redirect.middlewares=redirect@file"
         - "traefik.http.routers.dem-renderer-redirect.entrypoints=http"
         # router for referrer based access (https)
-        - "traefik.http.routers.dem-renderer_referer.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/ows`, `/opensearch`, `/admin`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?`)"
-        - "traefik.http.routers.dem-renderer_referer.middlewares=compress@file,cors@file"
+        - "traefik.http.routers.dem-renderer_referer.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`) && HeadersRegexp(`Referer`, `https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pvs.prism.eox.at|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?"
+        - "traefik.http.routers.dem-renderer_referer.middlewares=compress@file"
         - "traefik.http.routers.dem-renderer_referer.tls=true"
         - "traefik.http.routers.dem-renderer_referer.tls.certresolver=default"
         - "traefik.http.routers.dem-renderer_referer.entrypoints=https"
         # router for referrer based access (http)
-        - "traefik.http.routers.dem-renderer_referer-redirect.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/ows`, `/opensearch`, `/admin`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?`)"
+        - "traefik.http.routers.dem-renderer_referer-redirect.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pvs.prism.eox.at|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?`)"
         - "traefik.http.routers.dem-renderer_referer-redirect.middlewares=redirect@file"
         - "traefik.http.routers.dem-renderer_referer-redirect.entrypoints=http"
         # general
@@ -38,9 +37,7 @@ services:
         - "traefik.docker.network=dem-extnet"
         - "traefik.docker.lbswarm=true"
         - "traefik.enable=true"
-      placement:
-        constraints:
-          - node.labels.type == external
+      replicas: 3
       resources:
         limits:
           memory: 8G
@@ -54,23 +51,23 @@ services:
       labels:
         - "traefik.http.middlewares.cache-stripprefix.stripprefix.prefixes=/cache"
         # router for basic auth based access (https)
-        - "traefik.http.routers.dem-cache.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`)"
-        - "traefik.http.routers.dem-cache.middlewares=auth@file,cache-stripprefix,compress@file,cors@file"
+        - "traefik.http.routers.dem-cache.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`)"
+        - "traefik.http.routers.dem-cache.middlewares=auth@file,cache-stripprefix,compress@file"
         - "traefik.http.routers.dem-cache.tls=true"
         - "traefik.http.routers.dem-cache.tls.certresolver=default"
         - "traefik.http.routers.dem-cache.entrypoints=https"
         # router for basic auth based access (http)
-        - "traefik.http.routers.dem-cache-redirect.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`)"
+        - "traefik.http.routers.dem-cache-redirect.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`)"
         - "traefik.http.routers.dem-cache-redirect.middlewares=redirect@file"
         - "traefik.http.routers.dem-cache-redirect.entrypoints=http"
         # router for referrer based access (https)
-        - "traefik.http.routers.dem-cache_referer.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?`)"
-        - "traefik.http.routers.dem-cache_referer.middlewares=cache-stripprefix,compress@file,cors@file"
+        - "traefik.http.routers.dem-cache_referer.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pvs.prism.eox.at|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?`)"
+        - "traefik.http.routers.dem-cache_referer.middlewares=cache-stripprefix,compress@file"
         - "traefik.http.routers.dem-cache_referer.tls=true"
         - "traefik.http.routers.dem-cache_referer.tls.certresolver=default"
         - "traefik.http.routers.dem-cache_referer.entrypoints=https"
         # router for referrer based access (http)
-        - "traefik.http.routers.dem-cache_referer-redirect.rule=Host(`dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?`)"
+        - "traefik.http.routers.dem-cache_referer-redirect.rule=Host(`dem.pvs.prism.eox.at`, `a.dem.pvs.prism.eox.at`, `b.dem.pvs.prism.eox.at`, `c.dem.pvs.prism.eox.at`, `d.dem.pvs.prism.eox.at`, `e.dem.pvs.prism.eox.at`, `f.dem.pvs.prism.eox.at`, `g.dem.pvs.prism.eox.at`, `h.dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`, `a.dem.pdas.prism.eox.at`, `b.dem.pdas.prism.eox.at`, `c.dem.pdas.prism.eox.at`, `d.dem.pdas.prism.eox.at`, `e.dem.pdas.prism.eox.at`, `f.dem.pdas.prism.eox.at`, `g.dem.pdas.prism.eox.at`, `h.dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`, `a.dem.pass.copernicus.eu`, `b.dem.pass.copernicus.eu`, `c.dem.pass.copernicus.eu`, `d.dem.pass.copernicus.eu`, `e.dem.pass.copernicus.eu`, `f.dem.pass.copernicus.eu`, `g.dem.pass.copernicus.eu`, `h.dem.pass.copernicus.eu`) && PathPrefix(`/cache`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|panda-demo.copernicus.eu|cdsportal-demo.copernicus.eu|ocqc-demo.copernicus.eu|dem.pvs.prism.eox.at|dem.pdas.prism.eox.at|dem.pass.copernicus.eu)/?`)"
         - "traefik.http.routers.dem-cache_referer-redirect.middlewares=redirect@file"
         - "traefik.http.routers.dem-cache_referer-redirect.entrypoints=http"
         # general
@@ -79,26 +76,15 @@ services:
         - "traefik.docker.network=dem-extnet"
         - "traefik.docker.lbswarm=true"
         - "traefik.enable=true"
+      replicas: 3
       resources:
         limits:
           memory: 8G
-      replicas: 3
-      placement:
-        constraints:
-          - node.labels.type == external
     networks:
       - extnet
   registrar:
     environment:
-      INSTALL_DIR: "/var/www/pdas/ops/"
-    deploy:
-      replicas: 0
-      placement:
-        constraints:
-          - node.labels.type == internal
-  # redis-manager:
-  #   environment:
-  #     INSTALL_DIR: "/var/www/pdas/ops/"
+      INSTALL_DIR: "/var/www/pvs/ops/"
   client:
     configs:
       - source: client-ops
@@ -106,13 +92,13 @@ services:
     deploy:
       labels:
         # router for basic auth based access (https)
-        - "traefik.http.routers.dem-client.rule=Host(`dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`)"
+        - "traefik.http.routers.dem-client.rule=Host(`dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`)"
         - "traefik.http.routers.dem-client.middlewares=auth@file,compress@file"
         - "traefik.http.routers.dem-client.tls=true"
         - "traefik.http.routers.dem-client.tls.certresolver=default"
         - "traefik.http.routers.dem-client.entrypoints=https"
         # router for basic auth based access (http)
-        - "traefik.http.routers.dem-client-redirect.rule=Host(`dem.pdas.prism.eox.at`, `dem.pass.copernicus.eu`)"
+        - "traefik.http.routers.dem-client-redirect.rule=Host(`dem.pvs.prism.eox.at`, `dem.pdas.prism.eox.at`)"
         - "traefik.http.routers.dem-client-redirect.middlewares=redirect@file"
         - "traefik.http.routers.dem-client-redirect.entrypoints=http"
         # general
@@ -121,9 +107,6 @@ services:
         - "traefik.docker.network=dem-extnet"
         - "traefik.docker.lbswarm=true"
         - "traefik.enable=true"
-      placement:
-        constraints:
-          - node.labels.type == external
     networks:
       - extnet
   preprocessor:
@@ -131,11 +114,6 @@ services:
       - type: bind
         source: /var/vhr
         target: /tmp
-    deploy:
-      replicas: 0
-      placement:
-        constraints:
-          - node.labels.type == internal
 networks:
   extnet:
     name: dem-extnet
diff --git a/docker-compose.dem.yml b/docker-compose.dem.yml
index f664f0d5a6f9a5d3cc3cbefcfd8b4cbe85963a92..7b496f1be491dd5c2f8d9989ddfab8c611b96cfd 100644
--- a/docker-compose.dem.yml
+++ b/docker-compose.dem.yml
@@ -40,9 +40,12 @@ services:
       - env/dem_django.env
       - env/dem_obs.env
     environment:
-      INSTANCE_ID: "prism-data-access-server_renderer"
-      INSTALL_DIR: "/var/www/pdas/dev/"
-      INIT_SCRIPTS: "/configure.sh /init-db.sh"
+      INSTANCE_ID: "prism-view-server_renderer"
+      INSTALL_DIR: "/var/www/pvs/dev/"
+      COLLECT_STATIC: "false"
+      INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh"
+      STARTUP_SCRIPTS: "/wait-initialized.sh"
+      WAIT_SERVICES: "database:5432"
     configs:
       - source: init-db
         target: /init-db.sh
@@ -51,7 +54,7 @@ services:
     networks:
       - intnet
     command:
-      ["/wait-for-database.sh", "/run-httpd.sh"]
+      ["/run-httpd.sh"]
   cache:
     image: registry.gitlab.eox.at/esa/prism/vs/pvs_cache:latest
     volumes:
@@ -67,6 +70,8 @@ services:
     environment:
       INSTANCE_ID: "prism-view-server_cache"
       RENDERER_HOST: renderer
+      WAIT_SERVICES: "database:5432 renderer:80"
+      WAIT_TIMEOUT: 300  # wait up to 5 minutes
     deploy:
       replicas: 1
     networks:
@@ -86,8 +91,9 @@ services:
       - env/dem_obs.env
       - env/dem_redis.env
     environment:
-      INSTANCE_ID: "prism-data-access-server_seeder"
+      INSTANCE_ID: "prism-view-server_seeder"
       RENDERER_HOST: renderer
+      WAIT_SERVICES: "redis:6379 database:5432"
     deploy:
       replicas: 0
     networks:
@@ -103,6 +109,7 @@ services:
       - env/dem_preprocessor.env
     environment:
       INSTANCE_ID: "prism-view-server_preprocessor"
+      WAIT_SERVICES: "redis:6379"
     deploy:
       replicas: 1
     networks:
@@ -116,7 +123,7 @@ services:
         target: /tmp
       - type: volume
         source: instance-data
-        target: /var/www/pdas
+        target: /var/www/pvs
     env_file:
       - env/dem.env
       - env/dem_db.env
@@ -124,10 +131,13 @@ services:
       - env/dem_redis.env
     environment:
       INSTANCE_ID: "prism-view-server_registrar"
-      INSTALL_DIR: "/var/www/pdas/dev/"
+      INSTALL_DIR: "/var/www/pvs/dev/"
       SCALEFACTOR: "1"
       IN_MEMORY: "false"
-      INIT_SCRIPTS: "/configure.sh /init-db.sh"
+      COLLECT_STATIC: "false"
+      INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh"
+      STARTUP_SCRIPTS: "/wait-initialized.sh"
+      WAIT_SERVICES: "redis:6379 database:5432"
     configs:
       - source: init-db
         target: /init-db.sh
@@ -136,9 +146,9 @@ services:
     networks:
       - intnet
     command:
-      ["/wait-for-database.sh", "/run-registrar.sh"]
+      ["/run-registrar.sh"]
   client:
-    image: registry.gitlab.eox.at/esa/prism/vhr_image_2018/pdas_client:latest
+    image: registry.gitlab.eox.at/esa/prism/vs/pvs_client:latest
     deploy:
       replicas: 1
 configs: