version: '3.7'
services:
  front:
    image: registry.verdnatura.es/salix-front:${BRANCH_NAME:?}
    build:
      context: .
      dockerfile: front/Dockerfile
    ports:
      - 80
    deploy:
      replicas: 2
      placement:
        constraints:
          - node.role == worker
      resources:
        limits:
          memory: 1G
  back:
    image: registry.verdnatura.es/salix-back:${BRANCH_NAME:?}
    build: .
    ports:
      - 3000
    environment:
      - NODE_ENV
    configs:
      - source: datasources
        target: /etc/salix/datasources.json
      - source: datasources_local
        target: /etc/salix/datasources.local.json
      - source: print
        target: /etc/salix/print.json
      - source: print_local
        target: /etc/salix/print.local.json
    volumes:
      - /mnt/appdata/pdfs:/var/lib/salix/pdfs
      - /mnt/appdata/dms:/var/lib/salix/dms
      - /mnt/appdata/image:/var/lib/salix/image
      - /mnt/appdata/vn-access:/var/lib/salix/vn-access
    deploy:
      replicas: ${BACK_REPLICAS:?}
      placement:
        constraints:
          - node.role == worker
      resources:
        limits:
          memory: 8G
configs:
  datasources:
    external: true
    name: salix_datasources
  datasources_local:
    external: true
    name: salix-${BRANCH_NAME:?}_datasources
  print:
    external: true
    name: salix_print
  print_local:
    external: true
    name: salix-${BRANCH_NAME:?}_print