You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cloud-based multi-tenant SaaS platform for Neptune Apex aquarium controllers.
Collect telemetry from your Apex controller, visualize real-time probe readings and outlet states, browse tank notes with month/week filtering, and get AI-powered reef-keeping advice — all without running a local database or Grafana instance. While the Apex APIs allow you to control the Apex just like you can on Fusion, this is read-only at the moment. The intent at this stage is not to replace the Apex Fusion as a controller, but to allow an AI layer and take back your data for backup purposes.
Version: v0.1.4 — Notes History & Nemo Insights Status: Working prototype (Docker-based deployment) Previous project:ReefMind (local on-premise version)
Architecture
Stack
Layer
Technology
Purpose
Backend API
FastAPI (Python)
Auth, ingest, telemetry, settings, Nemo AI
Frontend
React + TypeScript + Vite + ECharts
Dashboard, tank notes, settings
Relational DB
PostgreSQL 16
Users, tenants, config
Time-Series DB
InfluxDB 2.7
Telemetry, outlet states, power, water tests, notes
All data collection is server-side via the Fusion API — no on-prem agent required. The collector polls every 5 minutes for probes, outlets, power, water tests, and tank notes.
Quick Start
Prerequisites
Docker & Docker Compose v2
A Neptune Apex Fusion account with API credentials
Setup
git clone https://github.com/niveknow/ReefMind-Cloud.git
cd ReefMind-Cloud
# Configure environment
cp .env.example .env
# Edit .env with your settings# Start the stack
docker compose up -d
# Access the web app
open http://localhost:8080
Server-side Fusion API polling (no agent required)
Implemented
Tenant isolation
Per-tenant InfluxDB buckets
Implemented
Dashboard
Custom React + ECharts
Implemented
Auth
JWT + per-tenant API key
Implemented
Nemo role
General reef advisor with tank data context
Implemented (v0.1.4: 2yr notes)
Notes backfill
Monthly-chunked Fusion API with dedup
Implemented (v0.1.3)
Notes filtering
Client-side month/week filter with InfluxDB 730d query
Implemented (v0.1.4)
Deployment
Same Docker Compose for local + VPS
Deferred — env var switch ready
On-prem agent
Separate Docker container
Future — planned for NAT'd controllers
Background workers
ARQ (Redis-backed)
Deferred — inline asyncio for now
On-Prem Agent
The companion on-prem agent for remote Apex controllers behind NAT is planned but not yet built. For now, the cloud stack collects data directly from the Fusion API — no local agent needed.