Configuration

The OEM software is configured primarily via environment variables set when running the Docker container.

Configuration Options

  • Options marked as Required must be set for the OEM server to function.
  • Options marked as Provisioning only apply as defaults on the first startup.
Environment VariableDescriptionDefault ValueRequired?Provisioning?
INITIAL_ADMIN_USERNAMEThe default admin username.adminNY
INITIAL_ADMIN_PASSWORDThe default admin password.adminNY
LICENSING_ORGANIZATION_IDA unique identifier for your organization, provided by the Vector Charts team.N/AYN
LICENSING_SERVER_NAMEA unique name for this server. If none is set, a random name is generated.<random>NY
LICENSING_KEYA hardcoded licensing key. Optional; if no key is set, the OEM API will reach out to Vector Charts licensing servers and acquire a license.N/ANN
PROVISIONING_DEFAULT_TOKENA default token to be added to the database. Can be used to automated headless deployments. Must be a UUID with no dashes.N/ANY
DEPLOYMENT_SCALE_NUM_API_INSTANCESThe number of API instances. A higher number supports more parallel API requests but does not necessarily speed up individual API requests. Can typically be left unset.4NN
JOB_PROCESSOR_MAX_WORKER_COUNTThe number of worker threads used when processing chart data. Can typically be left unset.<number of processor cores>NN
JOB_PROCESSOR_ENABLE_AUTO_CHART_UPDATEIf true, new NOAA charts are downloaded on provisioning and weekly.falseNN
SUPPORT_REMOTE_ACCESSIf true, remote VPN access is available into the container for Zydro staff.falseNN
POSTGRES_SHARED_BUFFERSSets the Postgres shared_buffers value. If you do not set this, the software calculates a default from the container memory.Calculated: 12–20% of container memory, maximum 1GBNN
POSTGRES_WORK_MEMSets the Postgres work_mem value. This value applies to each sort or hash operation.Calculated: 8MB if memory is less than 4GB; 16MB if memory is 4–8GB; 32MB if memory is 8GB or moreNN
POSTGRES_MAINTENANCE_WORK_MEMSets the Postgres maintenance_work_mem value.Calculated: 5% of container memory, minimum 64MB, maximum 256MBNN
POSTGRES_AUTOVACUUM_WORK_MEMSets the Postgres autovacuum_work_mem value.64MBNN
POSTGRES_EFFECTIVE_CACHE_SIZEGives a memory estimate to the Postgres planner. This setting does not allocate memory.40% of container memoryNN
POSTGRES_RANDOM_PAGE_COSTSets the planner cost for a non-sequential page read. Use 1.1 for flash storage.1.1NN
POSTGRES_JITControls LLVM JIT for query execution.offNN
POSTGRES_EFFECTIVE_IO_CONCURRENCYGives a concurrent disk I/O estimate to the Postgres planner.200NN
POSTGRES_MAX_PARALLEL_WORKERS_PER_GATHERSets the maximum number of parallel workers for one gather operation.1 if memory is less than 4GB; otherwise 2NN
POSTGRES_MAX_PARALLEL_WORKERSSets the maximum number of parallel workers for the database.2NN
POSTGRES_MAX_PARALLEL_MAINTENANCE_WORKERSSets the maximum number of parallel workers for maintenance commands.1NN
POSTGRES_DYNAMIC_SHARED_MEMORY_TYPESets the location of shared memory for parallel queries. The value mmap does not use Docker /dev/shm.mmapNN

PostgreSQL Tuning

Vector Charts runs an internal PostgreSQL database. The default settings give good performance on most devices. You may need to change these settings to get the best performance on your hardware.

When the container starts, the software sets PostgreSQL memory values from the container memory limit. The minimum calculation uses a device with 2GB of memory.

Use a POSTGRES_* variable from the table above only when you must set a fixed value.

We recommend that you start the container with --shm-size=256m. In Docker Compose, use shm_size: 256m.

This setting is not necessary for correct operation. Parallel queries use mmap in the data directory by default. The setting only prevents /dev/shm from staying at the Docker default of 64MB.

VectorCharts.com © 2024, Zydro Marine Technologies, Inc. · vectorcharts.com