Server Configuration

To configure the server you will need to edit the crimson.config file. This is located in different locations depending on how you installed your server.

  1. Installed through Docker-Hub method

    • The file will be located in the docker volume, once you access the volume it will be there. You can change it then restart your container to take effect.

  2. Installed through building using Docker

    • You can change the configuration before building, and it will be copied to the docker image, if you need to change after building it will be located in the volume on the root.

  3. Installed through building from source

    • It is located in the repo's root folder, you can change it anytime and restart the server to take effect

Once you have located the file as from the previous points, you will be able to edit it, the details of the file are below.

The file is a yaml file, so be careful of indentation and syntax

crimson_settings:
  system_db_path: /CrimsonQ/.crimsonQ/dbs # The location to save server spesific data 
  data_rootpath: /CrimsonQ/.crimsonQ/dbs  # The location to save the consumer spesific data , mostly queue inforamtion 
  watchdog_seconds: 5 # How frequent to check on expirations, this is the ticking heart for anything to do with time-framed options
  active_before_delayed: 30 # How long in seconds before a message is moved from active to delayed if not attended to 
  delayed_before_failed: 30 # How long in seconds before a message is moved from delayed to failed if not attended to
  db_full_persist: false # If set to true, every message will be synced to disk, lower in performance but 100% fault tolerant to server distrubtions 
  disk_sync_seconds: 30 # If the full presiste is set to false, this will be used to synce the data to disk ever x seconds 
  db_detect_conflicts: true # Allows the DB to auto detect conflicts, slightly lower in performance but suggest to be on
  consumer_inactive_destroy_hours: 48 # How long in hours 
  log_file: /CrimsonQ/.crimsonQ/logs # The location to store the log information 
HTTP:
  enabled: true # Enables or disables the HTTP rest and Web UI 
  port: 8080 # Port for the HTTP server 
  ip_whitelist: "*" # If set to * it will allow all or use as below; 
  #ip_whitelist:
    #- 127.0.0.1
    #- 186.123.14.1
  username: "crimsonQ" # The web basic auth, for APIs and Web UI
  password: "crimsonQ!" 
RESP:
  port: 9001 # The RESP server port 
  password: "crimsonQ!" # The RESP password 
  ip_whitelist: '*' # Similar to the HTTP configuration above 
  heartbeat_seconds: 30 # How frequently to heartbeat a connected consumer, this tekks tehe consumer about pending messages nad makes sure that the client is connected.

Last updated

Was this helpful?