Sign inSign up

energiency/docker-nifi

By energiency

•Updated almost 8 years ago

docker-nifi

Image
1

590

energiency/docker-nifi repository overview

⁠Description

This container is based on the official Apache Nifi container.
Therefore this container is compliant with the official container parameters⁠.

⁠Additional parameters

⁠Java heap size setting

You can define the Nifi java heap size with the environment variable:

JAVA_HEAP_SIZE

⁠Container starting command

docker run --name nifi \
  -p 8080:8080 \
  -e JAVA_HEAP_SIZE=1g \
  -d \
  energiency/docker-nifi:1.7.1

⁠Example with ssl certificates and custom java heap size

⁠Certificate generation

The Nifi toolkit⁠ can be used in order to generate the certificates:

⁠Example
./bin/tls-toolkit.sh standalone \ 
    -n "localhost" \ 
    -C "CN=sys_admin, OU=NIFI" \ 
    -C "CN=check_user, OU=NIFI" \ 
    -o target

This command generates a target directory:

.
├── CN=check_user_OU=NIFI.p12
├── CN=check_user_OU=NIFI.password
├── CN=sys_admin_OU=NIFI.p12
├── CN=sys_admin_OU=NIFI.password
├── localhost
│   ├── keystore.jks
│   ├── nifi.properties
│   └── truststore.jks
├── nifi-cert.pem
└── nifi-key.key

You can find the certificates for the two users in the p12 files:

  • CN=sys_admin, OU=NIFI: CN=sys_admin_OU=NIFI.p12
  • CN=check_user, OU=NIFI: CN=check_user_OU=NIFI.p12

The nifi.properties file contains the ssl informations needed by the container to be run in ssl mode.

# security properties #
nifi.sensitive.props.key=
nifi.sensitive.props.key.protected=
nifi.sensitive.props.algorithm=PBEWITHMD5AND256BITAES-CBC-OPENSSL
nifi.sensitive.props.provider=BC
nifi.sensitive.props.additional.keys=

nifi.security.keystore=./conf/keystore.jks
nifi.security.keystoreType=jks
nifi.security.keystorePasswd=yCHw4aybJGSS8yeRE0mFP4YiKFes+RAgGwXYUm3Mr8s
nifi.security.keyPasswd=yCHw4aybJGSS8yeRE0mFP4YiKFes+RAgGwXYUm3Mr8s
nifi.security.truststore=./conf/truststore.jks
nifi.security.truststoreType=jks
nifi.security.truststorePasswd=BbyLAwMZo/BEugGO4MduokrGOreRA8qQpXWY+LLieE8
nifi.security.needClientAuth=
nifi.security.user.authorizer=managed-authorizer
nifi.security.user.login.identity.provider=
nifi.security.ocsp.responder.url=
nifi.security.ocsp.responder.certificate=

You must adapt the server name in order to be able to connect to nifi.

For more information, check you can check the documentation⁠

⁠Container starting command

docker run --name secured-nifi \
  -v /certificate/location/target/localhost:/opt/certs \
  -p 8443:8443 \
  -e AUTH=tls \
  -e KEYSTORE_PATH=/opt/certs/keystore.jks \
  -e KEYSTORE_TYPE=JKS \
  -e KEYSTORE_PASSWORD=yCHw4aybJGSS8yeRE0mFP4YiKFes+RAgGwXYUm3Mr8s \
  -e TRUSTSTORE_PATH=/opt/certs/truststore.jks \
  -e TRUSTSTORE_PASSWORD=BbyLAwMZo/BEugGO4MduokrGOreRA8qQpXWY+LLieE8 \
  -e TRUSTSTORE_TYPE=JKS \
  -e INITIAL_ADMIN_IDENTITY='CN=sys_admin, OU=NIFI' \
  -e JAVA_HEAP_SIZE=1g \
  -d \
  energiency/docker-nifi:1.7.1

Tag summary

Content type

Image

Digest

Size

1.4 GB

Last updated

almost 8 years ago

docker pull energiency/docker-nifi:1.7.1