EOX GitLab Instance

Skip to content
Snippets Groups Projects
docker-compose.vhr18.yml 6.02 KiB
Newer Older
version: "3.6"
services:
  database:
    image: mdillon/postgis:10
    volumes:
      - db-data:/var/lib/postgresql/data
    env_file:
      - env/vhr18.env
      - env/vhr18_db.env
    environment:
Mussab Abdalla's avatar
Mussab Abdalla committed
      INSTANCE_ID: "prism-view-server_database"
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - intnet
    command: ["postgres", "-c", "max_connections=300"]
Lubomir Dolezal's avatar
Lubomir Dolezal committed
    sysctls:
      net.ipv4.tcp_keepalive_time: 600
      net.ipv4.tcp_keepalive_probes: 5
      net.ipv4.tcp_keepalive_intvl: 10
  redis:
    image: redis
    volumes:
      - redis-data:/data
    deploy:
      placement:
        constraints: [node.role == manager]
    networks:
      - intnet
  renderer:
Mussab Abdalla's avatar
Mussab Abdalla committed
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:latest
    volumes:
      - type: tmpfs
        target: /tmp
      - type: volume
        source: instance-data
Mussab Abdalla's avatar
Mussab Abdalla committed
        target: /var/www/pvs
    env_file:
      - env/vhr18.env
      - env/vhr18_db.env
      - env/vhr18_django.env
      - env/vhr18_obs.env
    secrets:
      - DJANGO_PASSWORD
Mussab Abdalla's avatar
Mussab Abdalla committed
      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"
      DJANGO_PASSWORD_FILE: "/run/secrets/DJANGO_PASSWORD"
    configs:
      - source: init-db
        target: /init-db.sh
    deploy:
      replicas: 1
    networks:
      - intnet
    command:
      ["/run-httpd.sh"]
Mussab Abdalla's avatar
Mussab Abdalla committed
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_cache:latest
    volumes:
      - type: tmpfs
        target: /tmp
    env_file:
      - env/vhr18.env
Fabian Schindler's avatar
Fabian Schindler committed
      - env/vhr18_db.env
      - env/vhr18_obs.env
    secrets:
      - OS_PASSWORD
      - OS_PASSWORD_DOWNLOAD
Mussab Abdalla's avatar
Mussab Abdalla committed
      INSTANCE_ID: "prism-view-server_cache"
      RENDERER_HOST: renderer
Fabian Schindler's avatar
Fabian Schindler committed
      WAIT_SERVICES: "database:5432 renderer:80"
      WAIT_TIMEOUT: 300  # wait up to 5 minutes
      OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD"
      OS_PASSWORD_DOWNLOAD_FILE: "/run/secrets/OS_PASSWORD_DOWNLOAD"
      options:
        tag: "docker.apache2"
    networks:
      - intnet
    command:
      ["/run-httpd.sh"]
  seeder:
Mussab Abdalla's avatar
Mussab Abdalla committed
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_cache:latest
    volumes:
      - type: tmpfs
        target: /tmp
    env_file:
      - env/vhr18.env
      - env/vhr18_obs.env
      - env/vhr18_redis.env
    secrets:
      - OS_PASSWORD
      - OS_PASSWORD_DOWNLOAD
Mussab Abdalla's avatar
Mussab Abdalla committed
      INSTANCE_ID: "prism-view-server_seeder"
      RENDERER_HOST: renderer
      WAIT_SERVICES: "redis:6379 database:5432"
      OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD"
      OS_PASSWORD_DOWNLOAD_FILE: "/run/secrets/OS_PASSWORD_DOWNLOAD"
    deploy:
      replicas: 0
    networks:
      - intnet
    command:
      ["/run-seeder.sh"]
  ingestor:
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:latest
    env_file:
      - env/vhr18_redis.env
    environment:
      INSTANCE_ID: "prism-view-server_ingestor"
    deploy:
      replicas: 1
    networks:
      - intnet
Mussab Abdalla's avatar
Mussab Abdalla committed
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_preprocessor:latest
    env_file:
      - env/vhr18.env
      - env/vhr18_obs.env
      - env/vhr18_redis.env
    secrets:
      - OS_PASSWORD
      - OS_PASSWORD_DOWNLOAD
Mussab Abdalla's avatar
Mussab Abdalla committed
      INSTANCE_ID: "prism-view-server_preprocessor"
      WAIT_SERVICES: "redis:6379"
      OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD"
      OS_PASSWORD_DOWNLOAD_FILE: "/run/secrets/OS_PASSWORD_DOWNLOAD"
    configs:
      - source: preprocessor-config
        target: /config.yaml      
    deploy:
      replicas: 1
    networks:
      - intnet
    command:
      ["/run-preprocessor.sh"]
  registrar:
Mussab Abdalla's avatar
Mussab Abdalla committed
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_core:latest
    volumes:
      - type: tmpfs
        target: /tmp
      - type: volume
        source: instance-data
Mussab Abdalla's avatar
Mussab Abdalla committed
        target: /var/www/pvs
Fabian Schindler's avatar
Fabian Schindler committed
      - type: volume
        source: report-data
        target: /mnt/reports/
    env_file:
      - env/vhr18.env
      - env/vhr18_db.env
      - env/vhr18_obs.env
      - env/vhr18_redis.env
    secrets:
      - OS_PASSWORD
      - OS_PASSWORD_DOWNLOAD
Mussab Abdalla's avatar
Mussab Abdalla committed
      INSTANCE_ID: "prism-view-server_registrar"
      INSTALL_DIR: "/var/www/pvs/dev/"
      SCALEFACTOR: "1"
      IN_MEMORY: "false"
      COLLECT_STATIC: "false"
      INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh"
      STARTUP_SCRIPTS: "/wait-initialized.sh"
      WAIT_SERVICES: "redis:6379 database:5432"
      OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD"
      OS_PASSWORD_DOWNLOAD_FILE: "/run/secrets/OS_PASSWORD_DOWNLOAD"
      REPORTING_DIR: '/mnt/reports/'
    configs:
      - source: init-db
        target: /init-db.sh
    deploy:
      replicas: 1
    networks:
      - intnet
    command:
      ["/run-registrar.sh"]
Mussab Abdalla's avatar
Mussab Abdalla committed
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_client:latest
Mussab Abdalla's avatar
Mussab Abdalla committed
  sftp:
    image: atmoz/sftp:latest
    volumes:
      - type: volume
        source: report-data
        target: /home/eox/data/to/panda
      - type: volume
        source: from-fepd
        target: /home/eox/data/from/fepd
    configs:
      - source: sftp-users-vhr18
        target: /etc/sftp/users.conf
    deploy:
      replicas: 1
Mussab Abdalla's avatar
Mussab Abdalla committed
    ports:
  ingestor:
    image: registry.gitlab.eox.at/esa/prism/vs/pvs_ingestor:latest
Mussab Abdalla's avatar
Mussab Abdalla committed
    deploy:
      replicas: 1
  sftp-users-vhr18:
    external: true
  init-db:
    file: ./config/vhr18_init-db.sh
  mapcache-dev:
    file: ./config/vhr18_mapcache-dev.xml
  mapcache-ops:
    file: ./config/vhr18_mapcache-ops.xml
  client-dev:
    file: ./config/vhr18_index-dev.html
  client-ops:
    file: ./config/vhr18_index-ops.html
  preprocessor-config:
    file: ./config/vhr18_preprocessor-config.yml
volumes:
  db-data:
  redis-data:
  instance-data:
Mussab Abdalla's avatar
Mussab Abdalla committed
  from-fepd:
secrets:
  OS_PASSWORD:
    external: true
  OS_PASSWORD_DOWNLOAD:
    external: true
  DJANGO_PASSWORD:
    external: true