Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save data2json/15be1040ad7f78dbf82f1c7dadd84d7c to your computer and use it in GitHub Desktop.
Save data2json/15be1040ad7f78dbf82f1c7dadd84d7c to your computer and use it in GitHub Desktop.

Revisions

  1. data2json revised this gist Jul 22, 2023. 1 changed file with 100 additions and 1 deletion.
    101 changes: 100 additions & 1 deletion docker-compose-persistent-nifi.yml
    Original file line number Diff line number Diff line change
    @@ -62,4 +62,103 @@ services:
    - my_persistent_network
    networks:
    my_persistent_network:
    driver: bridge
    driver: bridge


    version: "3"
    services:
    zookeeper:
    hostname: zookeeper
    container_name: zookeeper
    image: 'zookeeper:latest'
    ports:
    - 2181
    environment:
    - ALLOW_ANONYMOUS_LOGIN=yes

    nifi_1:
    image: apache/nifi:1.15.0
    container_name: nifi_1
    hostname: nifiserver1
    restart: unless-stopped
    ports:
    - 8443
    depends_on:
    - zookeeper
    environment:
    - NIFI_WEB_HTTPS_PORT=8443
    - SINGLE_USER_CREDENTIALS_USERNAME=admin
    - SINGLE_USER_CREDENTIALS_PASSWORD=ctsBtRBKHRAx69EqUghvvgEvjnaLjFEB
    - NIFI_SENSITIVE_PROPS_KEY=rHkWR1gDNW3R
    - NIFI_WEB_PROXY_HOST=
    - NIFI_WEB_HTTPS_HOST=
    - NIFI_CLUSTER_ADDRESS=
    - NIFI_REMOTE_INPUT_HOST=
    - AUTH=tls
    - KEYSTORE_PATH=/opt/certs/keystore.jks
    - KEYSTORE_TYPE=JKS
    - KEYSTORE_PASSWORD=GpHqcDbGc6/VQO2Y5z4tWpDMKHAXa4JvaxL6 lQwYKc
    - TRUSTSTORE_PATH=/opt/certs/truststore.jks
    - TRUSTSTORE_TYPE=JKS
    - TRUSTSTORE_PASSWORD=Nf6rMSYb9G6Zw2Idwwz/LUGYNmgBTo0Xf6D86CNbvuU
    - NIFI_SECURITY_USER_AUTHORIZER=single-user-authorizer
    - NIFI_SECURITY_USER_LOGIN_IDENTITY_PROVIDER=single-user-provider
    - NIFI_CLUSTER_NODE_PROTOCOL_PORT=8082
    - NIFI_ZK_CONNECT_STRING=zookeeper:2181
    - NIFI_ELECTION_MAX_WAIT=1 min
    - NIFI_CLUSTER_IS_NODE=true
    volumes:
    - ./keystore.jks:/opt/certs/keystore.jks
    - ./truststore.jks:/opt/certs/truststore.jks

    nifi_2:
    image: apache/nifi:1.15.0
    container_name: nifi_2
    hostname: nifiserver2
    restart: unless-stopped
    ports:
    - 8443
    depends_on:
    - zookeeper
    environment:
    - NIFI_WEB_HTTPS_PORT=8443
    - SINGLE_USER_CREDENTIALS_USERNAME=admin
    - SINGLE_USER_CREDENTIALS_PASSWORD=ctsBtRBKHRAx69EqUghvvgEvjnaLjFEB
    - NIFI_SENSITIVE_PROPS_KEY=rHkWR1gDNW3R
    - NIFI_WEB_PROXY_HOST=
    - NIFI_WEB_HTTPS_HOST=
    - NIFI_CLUSTER_ADDRESS=
    - NIFI_REMOTE_INPUT_HOST=
    - AUTH=tls
    - KEYSTORE_PATH=/opt/certs/keystore.jks
    - KEYSTORE_TYPE=JKS
    - KEYSTORE_PASSWORD=GpHqcDbGc6/VQO2Y5z4tWpDMKHAXa4JvaxL6 lQwYKc
    - TRUSTSTORE_PATH=/opt/certs/truststore.jks
    - TRUSTSTORE_TYPE=JKS
    - TRUSTSTORE_PASSWORD=Nf6rMSYb9G6Zw2Idwwz/LUGYNmgBTo0Xf6D86CNbvuU
    - NIFI_SECURITY_USER_AUTHORIZER=single-user-authorizer
    - NIFI_SECURITY_USER_LOGIN_IDENTITY_PROVIDER=single-user-provider
    - NIFI_CLUSTER_NODE_PROTOCOL_PORT=8082
    - NIFI_ZK_CONNECT_STRING=zookeeper:2181
    - NIFI_ELECTION_MAX_WAIT=1 min
    - NIFI_CLUSTER_IS_NODE=true
    volumes:
    - ./keystore.jks:/opt/certs/keystore.jks
    - ./truststore.jks:/opt/certs/truststore.jks

    nginx:
    image: nginx:latest
    volumes:
    - ./nginx.conf:/etc/nginx/nginx.conf:ro
    - ./nifi-cert.pem:/etc/nginx/ssl/nifi-cert.pem:ro
    - ./nifi-key.key:/etc/nginx/ssl/nifi-key.key:ro
    depends_on:
    - nifi_1
    - nifi_2
    ports:
    - "8443:8443"





  2. @CribberSix CribberSix created this gist Nov 10, 2021.
    65 changes: 65 additions & 0 deletions docker-compose-persistent-nifi.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,65 @@
    version: "3"
    services:
    # configuration manager for NiFi
    zookeeper:
    hostname: myzookeeper
    container_name: zookeeper_container_persistent
    image: 'bitnami/zookeeper:3.7.0' # latest image as of 2021-11-09.
    restart: on-failure
    environment:
    - ALLOW_ANONYMOUS_LOGIN=yes
    networks:
    - my_persistent_network
    # version control for nifi flows
    registry:
    hostname: myregistry
    container_name: registry_container_persistent
    image: 'apache/nifi-registry:1.15.0' # latest image as of 2021-11-09.
    restart: on-failure
    ports:
    - "18080:18080"
    environment:
    - LOG_LEVEL=INFO
    - NIFI_REGISTRY_DB_DIR=/opt/nifi-registry/nifi-registry-current/database
    - NIFI_REGISTRY_FLOW_PROVIDER=file
    - NIFI_REGISTRY_FLOW_STORAGE_DIR=/opt/nifi-registry/nifi-registry-current/flow_storage
    volumes:
    - ./nifi_registry/database:/opt/nifi-registry/nifi-registry-current/database
    - ./nifi_registry/flow_storage:/opt/nifi-registry/nifi-registry-current/flow_storage
    networks:
    - my_persistent_network
    # data extraction, transformation and load service
    nifi:
    hostname: mynifi
    container_name: nifi_container_persistent
    image: 'apache/nifi:1.14.0' # latest image as of 2021-11-09.
    restart: on-failure
    ports:
    - '8091:8080'
    environment:
    - NIFI_WEB_HTTP_PORT=8080
    - NIFI_CLUSTER_IS_NODE=true
    - NIFI_CLUSTER_NODE_PROTOCOL_PORT=8082
    - NIFI_ZK_CONNECT_STRING=myzookeeper:2181
    - NIFI_ELECTION_MAX_WAIT=30 sec
    - NIFI_SENSITIVE_PROPS_KEY='12345678901234567890A'
    healthcheck:
    test: "${DOCKER_HEALTHCHECK_TEST:-curl localhost:8091/nifi/}"
    interval: "60s"
    timeout: "3s"
    start_period: "5s"
    retries: 5
    volumes:
    - ./nifi/database_repository:/opt/nifi/nifi-current/database_repository
    - ./nifi/flowfile_repository:/opt/nifi/nifi-current/flowfile_repository
    - ./nifi/content_repository:/opt/nifi/nifi-current/content_repository
    - ./nifi/provenance_repository:/opt/nifi/nifi-current/provenance_repository
    - ./nifi/state:/opt/nifi/nifi-current/state
    - ./nifi/logs:/opt/nifi/nifi-current/logs
    # uncomment the next line after copying the /conf directory from the container to your local directory to persist NiFi flows
    #- ./nifi/conf:/opt/nifi/nifi-current/conf
    networks:
    - my_persistent_network
    networks:
    my_persistent_network:
    driver: bridge