Install & Configuration
Install
NexusLIMS-Logger is distributed as portable binary executable compiled in corresponding OS. There is no installation (or pre-requisites) required to run the executable, except proper configuration (see below).
NexusLIMS-Logger can also be excuted as normal Python program as well with the source code. Developers can take following steps:
$ git clone https://github.com/Euclid-Techlabs-LLC/NexusLIMS-Logger.git -b devhub
$ cd NexusLIMS-Logger && pip install -e ".[dev]"
Configuration
NexusLIMS-Logger requires several configuration settings to run, which must be properly set. The settings are read from:
environment variables. (priority)
$HOME/nexuslims/gui/config.jsonfor LoggerTEM;$HOME/nexuslims/gui/hubconfig.jsonfor LoggerHUB.
The settings includes the following item:
config.json
Setting Name |
Explaination |
|---|---|
|
system directory path of instrument raw data output folder, file changes therein will be watched and sync-ed to the cloud storage |
|
LoggerHUB host and port |
An example can be seen ($ROOT/src/nexuslims_logger/config.json)
1{
2 "NEXUSLIMSGUI_FILESTORE_PATH": "/path/to/raw/data/dir",
3 "NEXUSLIMSGUI_HUB_ADDRESS": "tcp://<HOST>:<PORT>"
4}
hubconfig.json
Setting Name |
Explaination |
|---|---|
|
root URL of database API |
|
user name to validate database API request |
|
password to validate database API request |
|
list of file types allowed to be watched and sync-ed |
|
file transfer interval in seconds |
|
bucket name of cloud storage which raw data is sync-ed to |
|
port number which the socket will bind to |
An example can be seen ($ROOT/src/nexuslims_logger/hubconfig.json)
1{
2 "NEXUSLIMSHUB_DBAPI_URL": "https://<API_URL>",
3 "NEXUSLIMSHUB_DBAPI_USERNAME": "DBAPI_USERNAME",
4 "NEXUSLIMSHUB_DBAPI_PASSWORD": "DBAPI_PASSWORD",
5 "NEXUSLIMSHUB_FILETYPES_SYNC": [
6 ".dm3"
7 ],
8 "NEXUSLIMSHUB_SYNC_INTERVAL_SECONDS": 600,
9 "NEXUSLIMSHUB_DATA_BUCKET": "GCP_BUCKET_NAME",
10 "NEXUSLIMSHUB_PORT": 5556
11}
Additionally, LoggerHUB requires credential JSON file to be able to write
to GCP cloud storage bucket. The credential JSON file can be downloaded from GCP
project IAM section, a service account can be created for this purpose.
NexusLIMS-Logger reads the credential JSON from $HOME/nexuslims/gui/creds.json.
Start
Both LoggerHUB and LoggerTEM can be started by double-clicking on the icon, like normal desktop GUI.
To start with source code, run the following in the terminal:
LoggerTEM:
python -m nexuslims_logger.loggertemornexuslimsloggertemLoggerHUB:
python -m nexuslims_logger.loggerhubornexuslimsloggerhub
Help
Please contact developers in Euclid Techlabs Contributors.