DeepLynx
DeepLynx Nexus is version 2 of the DeepLynx data warehouse, and acts as the central integration point for the DeepLynx data ecosystem. Nexus is a functional data catalog and digital thread tool, allowing users to track metadata from disparate sources and identify ontological and semantic connections between data. It is written in C# and React.
Install / Use
/learn @idaholab/DeepLynxREADME
DeepLynx Nexus
Feature Requests and Bug Reporting
- INL Users & Developers: Please use INL's Jira instance to submit both new feature requests and to report bugs
- External Users & Developers: Please use the GitHub Issues page of this repository for both feature requests and bug reports.
Prerequisites
-
Postgres download:
- Download PostgreSQL natively, OR
- Download Docker
-
.NET SDK: Ensure .NET SDK version 10.0 is installed on your system. Download .NET 10.0. You can verify you are using the correct version by running
dotnet --versionin the command line.
Docker Setup
This application may be run from docker using the following docker command:
docker compose up
Built containers must always be rebuilt after code changes, including pulled code from GitHub, using the following:
docker compose up --build
PostgreSQL databse connection credentials are set in docker-compose.yaml and the default values are set to connect to the composed database automatically for rapid deployment.
Local Developmental Setup
First Step
- Environment variables:
- Either rename the file
.env_samplein the root directory to.env, or:- Create a new file named
.envin the root directory. - Copy the contents of
.env_sampleto.env.
- Create a new file named
- Either rename the file
Once you have a .env file, be sure to periodically check .env_sample for updates as they won't automatically apply to your .env.
-
PostgreSQL Setup:
-
Native Install:
- Install and launch PostgreSQL.
- Create a PostgreSQL server.
-
Postgres on Docker:
- Run the following commands:
# Build the deeplynx image from the provided Dockerfile docker build -t deeplynx-db -f Dockerfiles/database/Dockerfile.local . # Run a container from that image docker run --name DeepLynx \ -e POSTGRES_PASSWORD=postgres \ -e POSTGRES_DB=deeplynx \ -d \ -p 5432:5432 \ deeplynx-db -
Add appropriate credentials for the newly created PostgreSQL server to their respective variables in
.env. For example:POSTGRES_DB_HOST=localhostPOSTGRES_PASSWORD=your_password
-
-
.NET SDK Setup:
- Install the .NET SDK version 10.0.
-
(Optional) Entity Framework CLI to create and run migrations manually:
- Install the .NET Entity Framework CLI tool globally:
dotnet tool install --global dotnet-ef
- Install the .NET Entity Framework CLI tool globally:
Development
Load the Database
Migrations should be applied automatically on application startup either locally or within docker and fail gracefully. The most common reason for failure will be either a PostgreSQL database is not running or listening for incoming connections, or incorrect credentials to an intended PostgreSQL database.
-
Navigate to the root folder in your project directory.
-
Run the following command to apply the latest migrations and update the database:
dotnet ef database update -c DeeplynxContext --verbose --project deeplynx.datalayer --startup-project deeplynx.api
If the above command fails with a Could not exeucte or similar message, dotnet ef may need to be added to your PATH.
Please update your path to include the .NET tools directory, similar to: export PATH="$PATH:/Users/_username_/.dotnet/tools"
Create Migration
If you make changes to the datalayer, create a new database migration with a descriptive name. For example, to add a migration for updating the users table, run:
dotnet ef migrations add UpdateUsersExample -c DeeplynxContext --verbose --project deeplynx.datalayer --startup-project deeplynx.api
See CONTRIBUTING for more details.
Additional Notes
- Ensure that your PostgreSQL server is running before attempting to launch the app, update the database, or create migrations.
Related Skills
node-connect
346.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
346.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
346.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
