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.
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.
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.
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.