Newer
Older
version: "3.6"
services:
database:
volumes:
- type: tmpfs
target: /dev/shm
tmpfs:
size: 536870912
renderer:
environment:
deploy:
labels:
# router for basic auth based access (https)
- "traefik.http.routers.emg-renderer.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`)"
- "traefik.http.routers.emg-renderer.middlewares=auth@file,compress@file"
- "traefik.http.routers.emg-renderer.tls=true"
- "traefik.http.routers.emg-renderer.tls.certresolver=default"
- "traefik.http.routers.emg-renderer.entrypoints=https"
# router for basic auth based access (http)
- "traefik.http.routers.emg-renderer-redirect.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`)"
- "traefik.http.routers.emg-renderer-redirect.middlewares=redirect@file"
- "traefik.http.routers.emg-renderer-redirect.entrypoints=http"
# router for referrer based access (https)
- "traefik.http.routers.emg-renderer_referer.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|emg.pvs.prism.eox.at)/?`)"
- "traefik.http.routers.emg-renderer_referer.middlewares=compress@file"
- "traefik.http.routers.emg-renderer_referer.tls=true"
- "traefik.http.routers.emg-renderer_referer.tls.certresolver=default"
- "traefik.http.routers.emg-renderer_referer.entrypoints=https"
# router for referrer based access (http)
- "traefik.http.routers.emg-renderer_referer-redirect.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/ows`, `/opensearch`, `/admin`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|emg.pvs.prism.eox.at)/?`)"
- "traefik.http.routers.emg-renderer_referer-redirect.middlewares=redirect@file"
- "traefik.http.routers.emg-renderer_referer-redirect.entrypoints=http"
# general
- "traefik.http.services.emg-renderer.loadbalancer.sticky=false"
- "traefik.http.services.emg-renderer.loadbalancer.server.port=80"
- "traefik.docker.lbswarm=true"
- "traefik.enable=true"
resources:
limits:
memory: 12G #TODO 4G ended up with many processes in D state, supposedly because of swapping
networks:
- extnet
cache:
configs:
- source: mapcache-ops
target: /mapcache-template.xml
deploy:
labels:
- "traefik.http.middlewares.cache-stripprefix.stripprefix.prefixes=/cache"
# router for basic auth based access (https)
- "traefik.http.routers.emg-cache.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/cache`)"
- "traefik.http.routers.emg-cache.middlewares=auth@file,cache-stripprefix,compress@file"
- "traefik.http.routers.emg-cache.tls=true"
- "traefik.http.routers.emg-cache.tls.certresolver=default"
- "traefik.http.routers.emg-cache.entrypoints=https"
# router for basic auth based access (http)
- "traefik.http.routers.emg-cache-redirect.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/cache`)"
- "traefik.http.routers.emg-cache-redirect.middlewares=redirect@file"
- "traefik.http.routers.emg-cache-redirect.entrypoints=http"
# router for referrer based access (https)
- "traefik.http.routers.emg-cache_referer.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/cache`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|emg.pvs.prism.eox.at)/?`)"
- "traefik.http.routers.emg-cache_referer.middlewares=cache-stripprefix,compress@file"
- "traefik.http.routers.emg-cache_referer.tls=true"
- "traefik.http.routers.emg-cache_referer.tls.certresolver=default"
- "traefik.http.routers.emg-cache_referer.entrypoints=https"
# router for referrer based access (http)
- "traefik.http.routers.emg-cache_referer-redirect.rule=Host(`emg.pvs.prism.eox.at`, `a.emg.pvs.prism.eox.at`, `b.emg.pvs.prism.eox.at`, `c.emg.pvs.prism.eox.at`, `d.emg.pvs.prism.eox.at`, `e.emg.pvs.prism.eox.at`, `f.emg.pvs.prism.eox.at`, `g.emg.pvs.prism.eox.at`, `h.emg.pvs.prism.eox.at`) && PathPrefix(`/cache`) && HeadersRegexp(`Referer`, `(https?://)?(panda.copernicus.eu|panda.cdsv3.eu|panda-demo.ondaprism.eu|emg.pvs.prism.eox.at)/?`)"
- "traefik.http.routers.emg-cache_referer-redirect.middlewares=redirect@file"
- "traefik.http.routers.emg-cache_referer-redirect.entrypoints=http"
# general
- "traefik.http.services.emg-cache.loadbalancer.sticky=false"
- "traefik.http.services.emg-cache.loadbalancer.server.port=80"
- "traefik.docker.lbswarm=true"
- "traefik.enable=true"
networks:
- extnet
registrar:
environment:
# redis-manager:
# environment:
client:
configs:
- source: client-ops
target: /usr/share/nginx/html/index.html
deploy:
labels:
# router for basic auth based access (https)
- "traefik.http.routers.emg-client.rule=Host(`emg.pvs.prism.eox.at`)"
- "traefik.http.routers.emg-client.middlewares=auth@file,compress@file"
- "traefik.http.routers.emg-client.tls=true"
- "traefik.http.routers.emg-client.tls.certresolver=default"
- "traefik.http.routers.emg-client.entrypoints=https"
# router for basic auth based access (http)
- "traefik.http.routers.emg-client-redirect.rule=Host(`emg.pvs.prism.eox.at`)"
- "traefik.http.routers.emg-client-redirect.middlewares=redirect@file"
- "traefik.http.routers.emg-client-redirect.entrypoints=http"
# general
- "traefik.http.services.emg-client.loadbalancer.sticky=false"
- "traefik.http.services.emg-client.loadbalancer.server.port=80"
- "traefik.docker.lbswarm=true"
- "traefik.enable=true"
networks:
- extnet
preprocessor:
volumes:
- type: bind
source: /var/vhr
target: /tmp
networks:
extnet:
name: emg-extnet
external: true