Configuration

You can configure the image using environment variables.

  • LogLevel: the highest level of log messages that should appear in the output. Values:

    • TRACE
    • DEBUG
    • INFO
    • WARN
    • ERROR

The logs are directed to the standard output and can be queried using the command docker logs <container name>.

  • SslEnabled: whether the container itself should manage SSL. If your runtime environment manages SSL or you don't need an SSL connection (not recommended in production environments), set this to false. Values:

    • false
    • true

    Should you enabled SSL, set these environment variables as well:

    • SslKeystore: the SSL key store path inside the container. You can provide an outer key store as well, if you mount the folder, that contains the key store, as a volume to the container with the -v parameter of the docker run command. E.g. if your key store named keystore.jks is in /path/to/config folder on the host machine and you mount the folder with the -v parameter as /opt/config (see below), then you can set SslKeystore environment variable to /opt/config/keystore.jks.

      docker run \
      --env-file /path/to/.env \
      -p 8080:8080 \
      -v /path/to/config:/opt/config \
      --name carmen-worker \
      public.ecr.aws/arcloud/carmen-worker:x86-64
    • SslKeystorePassword: the password of the key store.

    • SslKeyAlias: the alias to be used as the SSL certificate that identifies the key in the key store.

    • SslKeyPassword: the password used to access the key in the key store.

  • CarmenWorkerNodeName: a human-readable name that uniquely identifies this container in your environment. This name will be included in API responses to help with debugging.

  • CarmenWorkerInitDefaultEngines: whether the container should initialize the default recognition engines when starting up. Values:

    • false
    • true
  • CarmenWorkerMaxFileSize: maximum allowed size, in bytes, of POST requests made to the /vehicle or /transport endpoint.

  • CarmenWorkerVehicleRegions: you can restrict the regions loaded during initialization. The value passed should be a JSON array of strings, e.g. ["eur"].

  • CarmenWorkerTransportTypes: you can restrict the code types loaded during initialization. The value passed should be a JSON array of strings, e.g. ["iso"].

  • CarmenWorkerHandlerCount: the (integer) number of processing threads to start.

    • You need to have at least as many licenses as the number set here.
    • This number determines how many engine instances are initialized.
    • We recommend this parameter to be less than or equal to the number of CPU cores available.
  • CarmenWorkerInitDefaultEngines: true (default) if the default engines should be loaded at initialization time, false otherwise. true results in a slower startup time but the initialized container can serve requests immediately. false delays initialization of each engine until the first request that requires running that engine.

  • CarmenWorkerBacklog: an integer indicating how many requests other than the ones being processed at the moment will be queued. Requests above this number will be discarded.

  • CarmenWorkerRequestTimeout: the (integer) number of seconds after which to return a timeout response if processing takes too long.

  • ApiKey: [YOUR_API_KEY]

    Please use your real Carmen® Cloud API key instead of the [YOUR_API_KEY] placeholder.

    • The container needs to connect to our cloud-based License Service to acquire license locks.