Configuration

Tune AIQ Realtime Services with optional environment variables and YAML configuration.

Environment Variables

AIQ Realtime Services accepts several optional environment variables that set useful behaviors for the service. They are described below.

VariableTypeDescription
FL_UPDATE_INTERVALTime string
(1m, 2h, 300h)
Specifies the time period between postal directory updates. The default update interval, if not specified, is 24 hours. When a directory update is triggered after this interval expires, the application checks if any new files are available in the postal directories repository and installs them if relevant files are found.
FL_DISABLE_GEOBooleanCan be set to true to disable geocoding capabilities.
FL_DISABLE_DIR_UPDATESBooleanMust be set to true in order to disable automated directory updates. By default, it is considered set to false. You may consider setting this variable to true in the following scenarios:
  • Your network rules do not allow egress/ingress from the Firstlogic postal files repository.
  • You have decided to manually update postal directories, or otherwise have non-standard postal directory filepaths.
FL_USERUsername stringCredentials for Firstlogic's file repository. When these credentials are provided as part of the docker run command, the container will install the postal directories required by your SDK server.
FL_PASSPassword stringCredentials for Firstlogic's file repository. When these credentials are provided as part of the docker run command, the container will install the postal directories required by your SDK server.
FL_MAX_THREADSIntegerUsed to determine the maximum number of worker threads that will be initialized by the service. If the variable is not set or invalid, the service defaults to 4. If the detected number of available CPUs is less than 4, it will use the number of available CPUs instead.

Config YML Files

Customizing the output fields and behavior of the address verification API can be done by modifying the aiq_config.yml file located in the config directory, and then mapping it as a volume to /app/config using docker run:

Run with a custom config volume
docker run -d \
  -e FL_USER="<username>" \
  -e FL_PASS="<password>" \
  -v fl_data:/fl_data \
  -v <path_to_config>:/app/config \
  -p 8080:8080 \
  addressiq-web

If you do not require any customization, there is no need to include this volume mapping - defaults will be used.

Configuration example

The aiq_config.yml file can be extended to expose additional output fields. For example, to add the Address_Match_Level geocoding field as an output, you would add this field to the list of Output_Fields in the Geocoding_Options section of the YAML:

aiq_config.yml
Geocoding_Options:
  Geocoding_Mode: Best
  Geo_Data_Folder: $GEO_DIRECTORY_PATH
  Geo_Output: Both
  Output_Fields:
    - Address_Latitude
    - Address_Longitude
    - Metro_Stat_Area_Code
    - Census_Tract_Block
    - Gov_Region1_Code
    - Gov_County_Code
    - Address_Match_Level # new field