version: "3.8"

services:

  nifi:
    image: apache/nifi:1.27.0
    ports:
      - "8080:8080"
    volumes:
      # ./data/nifi/conf:/tmp
      - ./data/nifi/conf:/opt/nifi/nifi-current/conf
      - ./data/nifi/database_repository:/opt/nifi/nifi-current/database_repository
      - ./data/nifi/flowfile_repository:/opt/nifi/nifi-current/flowfile_repository
      - ./data/nifi/content_repository:/opt/nifi/nifi-current/content_repository
      - ./data/nifi/provenance_repository:/opt/nifi/nifi-current/provenance_repository
      - ./data/nifi/state:/opt/nifi/nifi-current/state
      - ./data/nifi/logs:/opt/nifi/nifi-current/logs
    environment:
      - NIFI_WEB_HTTP_PORT=8080
      - NIFI_JVM_HEAP_INIT=8g
      - NIFI_JVM_HEAP_MAX=16g
      - SINGLE_USER_CREDENTIALS_USERNAME=admin
      - SINGLE_USER_CREDENTIALS_PASSWORD=admin
    hostname: nifi
    restart: unless-stopped

  registry:
    image: apache/nifi-registry:1.27.0
    ports:
      - "18080:18080"
    volumes:
      - ./data/registry/database:/opt/nifi-registry/nifi-registry-current/database
      - ./data/registry/flow_storage:/opt/nifi-registry/nifi-registry-current/flow_storage
      - ./data/registry/logs:/opt/nifi-registry/nifi-registry-current/logs
    hostname: registry
    restart: unless-stopped
