Sign inSign up

shiyuecamus/ng-gateway

By shiyuecamus

Updated 7 months ago

A high-performance, Rust-based Industrial IoT (IIoT) edge gateway.

Image
0

1.4K

shiyuecamus/ng-gateway repository overview

NG Gateway Logo

NG Gateway

NG Gateway is a high-performance, Rust-based Industrial IoT (IIoT) edge gateway. It is designed to act as a reliable bridge between industrial field devices (PLC, Sensors) and cloud/on-premise platforms, ensuring high throughput, low latency, and robust data integrity.

NG Gateway supports one-stop access to dozens of industrial protocols, converting them into standard northbound messages (MQTT, HTTP, etc.) to realize the seamless interconnection between OT (Operational Technology) and IT (Information Technology) systems.

✨ Key Features

  • High Performance & Low Latency: Built with Rust and Tokio asynchronous runtime, designed for high concurrency and zero-cost abstractions.
  • Edge Native: Extremely low memory footprint (<50MB idle, <300MB load) and fast startup, suitable for resource-constrained edge hardware (ARM/x86).
  • Multi-Protocol Support: Native high-performance drivers for Modbus (TCP/RTU), Siemens S7, OPC UA, IEC 60870-5-104, Mitsubishi MC, and more.
  • Built-in Web UI: Comes with a modern, embedded Web Console for visual configuration, monitoring, and debugging—no extra deployment required.
  • Smart Batching: Auto-merges requests into batches (Modbus/S7/MC) to reduce network overhead by up to 98%.
  • Reliability First: End-to-end backpressure, bounded queues, and automatic reconnection/supervision for all connections.
  • Pluggable Architecture: Supports dynamic loading of Southward Drivers and Northward Applications via plugins.
  • Northward Integration: Seamless integration with ThingsBoard, MQTT brokers, and custom cloud platforms via flexible plugin system.

For more information, please visit NG Gateway.

🐋 Supported Docker Versions

NG Gateway supports standard Docker engines (19.03+). It is distributed as a multi-arch image supporting:

  • linux/amd64
  • linux/arm64

📦 NG Gateway Docker Image

The Docker image contains the complete gateway runtime, including the API server and the embedded Web UI.

Pull the latest image:

docker pull node-grove/ng-gateway:latest

🚀 Running NG Gateway

You can start the gateway with a single command. The gateway serves both the Web UI and the API on port 8080.

Quick Start
docker run -d \
  --name ng-gateway \
  --privileged=true \
  --restart unless-stopped \
  -p 8978:8080 \
  -p 8979:8443 \
  -v gateway-data:/app/data \
  shiyuecamus/ng-gateway:latest
Accessing the UI

Open your browser and visit: http://localhost:8080

  • Default User: system_admin
  • Default Password: system_admin
Persistence & Volumes

To prevent data loss (configuration, database, logs) during container restarts, it is highly recommended to mount the /app/data volume.

Volume PathDescription
/app/dataStores SQLite database, logs, and runtime configuration.
/app/drivers/custom(Optional) Place custom driver plugins (.so files) here.
/app/plugins/custom(Optional) Place custom northward plugins (.so files) here.
Configuration

You can customize the gateway behavior via environment variables:

docker run -d \
  --name ng-gateway \
  --privileged=true \
  --restart unless-stopped \
  -p 8978:8080 \
  -e RUST_LOG=info \
  -v gateway-data:/app/data \
  shiyuecamus/ng-gateway:latest

Tag summary

Content type

Image

Digest

sha256:2e18828b2

Size

63.5 MB

Last updated

7 months ago

docker pull shiyuecamus/ng-gateway