Container Options
List of all available environment variables for the container:
Environment Variable | Possible Values | Default | Description |
---|---|---|---|
NULLAFI_API_KEY | any string of characters | none | Sets an API Key to be used by clients on Nullafi Shield API Requests |
NULLAFI_SERVERMODE | [icap | api | web | alert | all] |
all |
Sets which services will run on the Shield container. ICAP server, API server, Web Management Console (which includes API), Alert server, or all at once (all is convenient for testing but not recommended for production). |
NULLAFI_ACTIVITY_DATABASE_URL | a valid Elasticsearch URL | none | Sets the Activity Database location, including the protocol, credentials, hostname, and path for an Elasticsearch database accessible by the Web Management Console and all ICAP enforcement nodes. |
NULLAFI_ELASTIC_CERTIFICATE_FINGERPRINT | a valid SHA256 hex fingerprint given by Elasticsearch on first launch | none | see https://www.elastic.co/guide/en/elasticsearch/reference/current/configuring-stack-security.html |
NULLAFI_REDIS_URI | a valid Redis URI | none | Sets the Web Management Console's configuration database location, including the protocol, credentials, hostname, and path for a Redis database accessible by the Web Management Console and all ICAP enforcement nodes. |
NULLAFI_LOG_FILE_DIR | a valid path to a folder | ./log |
Sets the path to the log file |
NULLAFI_LOG_TO_FILE | [true | false] |
FALSE |
By default sends the log information to the stdout. |
NULLAFI_LICENSE_KEY_FILE | a valid path to a file | none | Passes the Nullafi Shield license information by reference to a file on the filesystem. Mutually exclusive with NULLAFI_LICENSE_KEY_VALUE. Nullafi Shield requires one of NULLAFI_LICENSE_KEY_FILE or NULLAFI_LICENSE_KEY_VALUE to exist but will only use one at a time. |
NULLAFI_LICENSE_KEY_VALUE | any string of characters | none | Passes the Nullafi Shield license information by directly invoking the license key string. Mutually exclusive with NULLAFI_LICENSE_KEY_FILE. Nullafi Shield requires one of NULLAFI_LICENSE_KEY_FILE or NULLAFI_LICENSE_KEY_VALUE to exist but will only use one at a time. |
NULLAFI_HTTP_CUSTOM_DOMAIN | any valid hostname | localhost |
Sets the custom domain for the web Web Management Console |
NULLAFI_SHOWBUILD | [true | false] |
TRUE |
Determines whether the software build number is displayed in the Web Management Console |
NULLAFI_SHOWDATE | [true | false] |
FALSE |
Determines whether the software build date is displayed in the Web Management Console |
NULLAFI_HTTP_PORT | [0-65535] |
8080 |
Sets the listening port for plain text (HTTP) access to the Web Management Console. This is the container’s listening port, and might be mapped through the host’s network stack in several ways. By default, browsers use port 80 for HTTP and so it is common to map the host’s port 80 to the container’s 8080 |
NULLAFI_HTTPS_ENABLED | [true | false] |
FALSE |
Controls whether the Web Management Console will be offered with SSL encryption (via HTTPS). |
NULLAFI_HTTPS_PORT | [0-65535] |
8081 |
Sets the listening port for SSL encrypted (HTTPS) access to the Web Management Console. This is the container’s listening port, and might be mapped through the host’s network stack in several ways. By default, browsers use port 443 for HTTPS and so it is common to map the host’s port 443 to the container’s 8081 |
NULLAFI_HTTPS_TLS_CERT_FILE | a path to the TLS certificate file (.crt) | none | Sets the certificate to be used for secure HTTPS connections to the Web Management Console. If not using the ACME protocol, Nullafi Shield can be configured to use specific certificates manually managed by the administrator. Ordinarily, these would be signed by the organization's private Certificate Authority. |
NULLAFI_HTTPS_TLS_KEY_FILE | a path to the TLS key file (.pem) | none | Sets the private key to be used for secure HTTPS connections to the Web Management Console. If not using the ACME protocol, Nullafi Shield can be configured to use specific certificates manually managed by the administrator. Ordinarily, these would be signed by the organization's private Certificate Authority. |
NULLAFI_HTTPS_ENABLE_ACME | [true | false] |
FALSE |
Sets if Nullafi Shield will obtain a certificate for the Web Management Console using the ACME protocol service. See more in RFC8555 |
NULLAFI_HTTPS_CERT_DIR | a valid path to a folder | ./certs |
Sets the path where ACME SSL certificates will be stored. This should be mounted to persistent storage to avoid excessive certificate generation attempts from container restarts. |
NULLAFI_HTTPS_ACME_SERVER_URL | a valid URL | none | ACME directory URL for signed HTTP certificates. |
NULLAFI_HTTPS_ACME_DNS01_PROVIDER | a valid DNS provider name | none | The DNS Provider used by the Acme DNS-01 challenge automation process, see the options: https://go-acme.github.io/lego/dns/ |
NULLAFI_PROXY_CERT_FILE | a valid path to a file | none | Allows the Web Management Console to distribute the public key used by the Proxy to sign SSL certificates. End user devices can download the certificate for importing into their own trust store from the Web Management Console without authentication. |
NULLAFI_PROXY_URL | a valid hostname or IP address and port combination, separated by a colon (e.g. 192.168.0.254:8080 , proxy.example.com:3128 ) |
none | Allows the Web Management Console to distribute a custom PAC file. End user devices can download the PAC file or point their automatic proxy settings to the PAC file download URL inside the Web Management Console. |
NULLAFI_GOOGLE_LOGOUT_URL | a valid URL | https://accounts.google.com/logout |
Allows Shield to recognize when a user has logged out from the identity provider so it can invalidate the user's SAML session. |
NULLAFI_NODE_NAME | any string of characters | nullafi shield |
When the Shield instance is configured as an ICAP server (NULLAFI_SERVERMODE is set to either "icap" or "both"), sets the name of the Shield instance to appear in the Web Management Console and Activity Log. |
NULLAFI_ICAP_PORT | [0-65535] |
1344 |
Sets the TCP port for the ICAP protocol. This is the container’s listening port, and might be mapped through the host’s network stack in several ways. |
NULLAFI_ICAPS_ENABLED | [true | false] |
FALSE |
Sets the ICAP protocol to run on TLS |
NULLAFI_ICAPS_PORT | [0-65535] |
11344 |
Sets the TCP port for the ICAP protocol with TLS. This is the container’s listening port, and might be mapped through the host’s network stack in several ways. |
NULLAFI_ICAP_TLS_KEY_FILE | a path to the TLS key file (.pem) | none | Sets the path to the key file for ICAPS protocol (ICAP with SSL). |
NULLAFI_ICAP_TLS_CERT_FILE | a path to the TLS certificate file (.crt) | none | Sets the path to the certificate file for ICAPS protocol (ICAP with SSL). |
NULLAFI_ICAP_MUTUAL_TLS_CLIENT_FILE | a path to the TLS certificate file | none | Sets client and server ICAP to use signed certificate to authenticate each other. |
NULLAFI_SYSLOG_ACTIVITY_ENABLE | [true | false] |
FALSE |
Sets the log information to be sent to a SYSLOG service. |
NULLAFI_SYSLOG_ACTIVITY_FACILITY | [ KERN | USER | MAIL | DAEMON | AUTH | SYSLOG | LPR | NEWS | UUCP | CRON | AUTHPRIV | FTP | LOCAL0 | LOCAL1 | LOCAL2 | LOCAL3 | LOCAL4 | LOCAL5 | LOCAL6 | LOCAL7 ] |
LOCAL0 |
Labels for facility levels defined in RFC5424 |
NULLAFI_SYSLOG_ACTIVITY_NETWORK | [tcp | udp] |
none | Sets the network protocol to be used by syslog |
NULLAFI_SYSLOG_ACTIVITY_REMOTE_ADDRESS | a valid hostname or IP address and port combination, separated by a colon (e.g. 192.168.1.1:514 , syslog.example.com:601 ) |
none | Sets the syslog destination server and port |
NULLAFI_TRACER_ENDPOINT | a valid URL | none | A compatible OpenTelemetry tool URL (vendors: Splunk, Grafana, SolarWind, FluentBit, etc) |