https://github.com/oracle-samples/node-red-nodes
Custom Node-RED nodes that integrate the Oracle Database, Advanced Queues (AQ), Oracle Fusion Cloud SCM, OCI services, and the OCI IoT Platform.
https://github.com/oracle-samples/node-red-nodes
iot-platform mqtt node-red oci oci-notifications oracle oracle-aq oracle-db oracle-fusion oracle-iot
Last synced: 3 months ago
JSON representation
Custom Node-RED nodes that integrate the Oracle Database, Advanced Queues (AQ), Oracle Fusion Cloud SCM, OCI services, and the OCI IoT Platform.
- Host: GitHub
- URL: https://github.com/oracle-samples/node-red-nodes
- Owner: oracle-samples
- License: upl-1.0
- Created: 2026-01-22T12:34:23.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-03-23T22:25:48.000Z (3 months ago)
- Last Synced: 2026-03-24T21:17:52.509Z (3 months ago)
- Topics: iot-platform, mqtt, node-red, oci, oci-notifications, oracle, oracle-aq, oracle-db, oracle-fusion, oracle-iot
- Language: HTML
- Homepage:
- Size: 191 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Security: SECURITY.md
Awesome Lists containing this project
README
# Node-RED Oracle Cloud Nodes
This project provides a set of custom Node-RED nodes that integrate the Oracle Database, Advanced Queues (AQ), Oracle Fusion Cloud SCM, OCI services, and the OCI IoT Platform.
## What's Included
- **db-nodes**
- Database connection (with Test Connection)
- SQL execution (Editor or msg.sql)
- AQ enqueue / dequeue (configurable dequeue mode)
- Transactional processing (begin / end transaction with commit or rollback)
- **fusion-scm-nodes**
- General transaction node (fusion-request)
- General lookup node (scm-lookup)
- SMO Transformer
- Create Asset, Create Meter Reading
- Inventory transactions (misc, subinventory transfer)
- Delete transaction
- Lookup nodes (asset, meter reading, organization)
- **oci-nodes**
- OCI authentication config (Config File, Instance Principal, Resource Principal, API Key)
- OCI Notifications (email, Slack, PagerDuty, webhook, SMS, OCI Functions)
- OCI Object Storage (upload and download objects)
- OCI Logging (putLogs to OCI Custom Logs)
- OCI Log Analytics (upload log events to Log Analytics)
- IoT Device config (MQTT connection to OCI IoT Platform)
- IoT Telemetry (publish device telemetry)
- IoT Command (receive commands from IoT Platform)
- IoT Send Command (send commands to devices via OCI REST API)
> Detailed node-level documentation is available in [Node Reference](./docs/node-reference.md).
## Quick Start
| Description | Resource |
|-------------|:--------:|
| Detailed installation | [Guide](./docs/installation.md) |
| Setup Oracle AQ (queue + subscriber using SQL) | [Guide](./docs/setup-sql.md) |
| Import examples into Node-RED | [Guide](./docs/import-examples.md) |
| Best practices | [Guide](./docs/best-practice.md) |
| Node reference | [Guide](./docs/node-reference.md) |
## Installation
### 1. Clone the Repository
Navigate to your Node-RED user directory (`~/.node-red`) and clone using one of the following methods:
#### HTTPS
```bash
git clone https://github.com/oracle-samples/node-red-nodes.git
```
#### SSH
```bash
git clone git@github.com:oracle-samples/node-red-nodes.git
```
#### GitHub CLI
```bash
gh repo clone oracle-samples/node-red-nodes
```
### 2. Install Dependencies
#### Prerequisites
- Node-RED v3.0+
- Node.js v18+
- npm
- Oracle Instant Client 23c (required only when DB `Driver Mode` is `Thick`)
#### Required Node-RED Dependencies
These libraries must be installed inside your Node-RED user directory (`~/.node-red`):
```bash
cd ~/.node-red
npm install oracledb # DB nodes
npm install axios # SCM nodes
npm install https-proxy-agent # SCM nodes (proxy support)
npm install oci-sdk # OCI nodes (Notifications, Logging, Log Analytics, IoT Send Command)
npm install mqtt # IoT nodes (Telemetry, Command)
```
#### Install Oracle Instant Client (23c)
```bash
sudo dnf install oracle-instantclient-release-el8
sudo dnf install oracle-instantclient-basic
sudo dnf install oracle-instantclient-sqlplus
```
> **NOTE:** Oracle Linux typically installs Instant Client into `/usr/lib/oracle/23/client64/lib` by default.
>
> If your DB flows use `Driver Mode = Thin`, Oracle Instant Client is not required.
### Local Install Note (Palette Manager Upload)
For local/offline installs via the Node-RED editor, you must generate an npm-packed tarball yourself with `npm pack`.
GitHub source/release tarballs are not directly uploadable in Palette Manager because they do not use the expected npm archive layout (`package/package.json`).
See [Detailed installation: Install from Local `.tgz` in Palette Manager](./docs/installation.md#13-install-from-local-tgz-in-palette-manager).
## Documentation
You can find the online documentation for the Oracle Internet of Things Platform at [docs.cloud.oracle.com](https://docs.oracle.com/en-us/iaas/Content/internet-of-things).
## Examples
Example Node-RED flows are provided in the documentation showcasing different use cases:
- Subscriber exists? → If Not, Create New Subscriber → If It Exists, Enqueue → Dequeue Example
- Enqueue → Dequeue → Create Meter Reading → If Not Found, Create Asset
- Transactional dequeue with rollback protection
- IoT telemetry publishing and command-response
- Threshold monitoring with OCI Notifications
Examples can be imported directly into the Node-RED editor.
See [Import Examples Guide](./docs/import-examples.md).
## Contributing
This project welcomes contributions from the community. Before submitting a pull request, please [review our contribution guide](./CONTRIBUTING.md).
## Security
Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process.
## License
See [LICENSE](./LICENSE.txt).
## Disclaimer
Oracle and its affiliates do not provide any warranty whatsoever, express or implied, for any software, material or content of any kind contained or produced within this repository, and in particular specifically disclaim any and all implied warranties of title, non-infringement, merchantability, and fitness for a particular purpose. Furthermore, Oracle and its affiliates do not represent that any customary security review has been performed with respect to any software, material or content contained or produced within this repository. In addition, and without limiting the foregoing, third parties may have posted software, material or content to this repository without any review. Use at your own risk.