Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 

Repository files navigation

IoT Gateway NG

Woking on opening an internal project to the public.

Video Demo

  • Networking overview (Zerotier + bridged network)

Networking overview

  • Povisioning: How to deploy base image (netboot) + Base system (af)

Povisioning: How to deploy base image (netboot) + Base system (af)

  • Centralized and automated management: Ansible + Ansible Forms

Centralized and automated management: Ansible + Ansible Forms

  • Backup image and restore (netboot)

Backup image and restore (netboot)

  • Rescue processes (netboot live image + ssh)

Rescue processes (netboot live image + ssh)

  • Basic system management (OpenWRT UI + ttyd + ssh)

Basic system management (OpenWRT UI + ttyd + ssh)

  • Stacks: containers management (Docker + GitOps + Dockge)

Stacks: containers management (Docker + GitOps + Dockge)

  • Observability: Grafana Alloy + Global Grafana (logs and metrics, supported OTel)

Observability: Grafana Alloy + Global Grafana (logs and metrics, supported OTel)

  • Monitoring: Uptime Kuma + Global Grafana

Monitoring: Uptime Kuma + Global Grafana

  • Backup: Duplicati + Telegraf + InfluxDB + Grafana

Backup: Duplicati + Telegraf + InfluxDB + Grafana

  • MQTT: Mosquitto + EMQX

MQTT: Mosquitto + EMQX

  • Automation: Node-RED (Git based flows)

Automation: Node-RED (Git based flows)

  • Development base image: Ansible creation base image

Development base image: Ansible creation base image

Features

  • iPXE based installation (netboot using HTTP and clonezilla)
  • Centralized deployment (Ansible Forms + GitOps)
  • GIT + configuration management (Notion configs as CMDB) - Ansible Forms link and Ansible forms JSON config file
  • Applications with web interfaces for managementps
    • Dockge, container management
    • GLPI agent, inventory
    • Grafana Alloy, agent for observability and centralized logs
    • Uptime Kuma (Kuma + Autokuma), monitoring integrated with observability
    • Zerotier, VPN
    • Duplicati, backup
      • uses Telegraf for getting telemetry and injecting it into InfluxDB
    • Mosquitto, MQTT broker bidirectional integration with central EMQX
    • Node-RED, IoT automation and data flows. Git based stack and Git based config and flows
    • VSCode, in-browser development
  • Applications documentation synchoronized with Notion (README.md -> Notion using GIT hooks)
  • Grafana dashboards for monitoring and centralized alarms
  • Web based system management (OpenWRT based)
    • Docker containers
    • Firewall and NAT
    • System processes
    • Real Time graphs of system resources
    • NTP server and client
    • DNS server and forwarder
    • DHCP server and client
    • Package manager
    • Startup services
    • Cron jobs

Users

  • System Administrators are the users of this project
  • Developers/Contributors are the ones that evolve the project

Brainstorming

  • squashfs github workflow
  • wireguard
  • grub-brts -> recuperar snapshots fallados de sistema
  • Set-up public netboot
  • Cronicle (central crontab management)
  • Web terminal
  • Composecraft
  • Coolify, Dokploy, Convex, or similar for central deployment
  • Kestra, or similar for central automation
  • Integrate all services behind NGINX and manage it with NGINX UI: https://github.com/0xJacky/nginx-ui
  • New theme for OpenWRT: Argon - https://github.com/jerrykuku/luci-theme-argon
  • Komodo
  • Projects, apps, nodes, etc. Central management inspiration at Flowfuse (screenshots), Portainer, Dockge, Komodo, Rancher. n-tiers POV is an important point for management.
  • Important pendnigs TBD: distributed storage, git centra config management, maybe something else.

Reference

Related projects

Uptime Kuma

About

IoT Gateway based on OpenWRT

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors