Ready to launch? Follow these steps to get the entire NeurOps ecosystem running on your machine.
Ensure you have the following installed:
- Python 3.12+
- Docker & Docker Compose
- Google Cloud SDK (gcloud)
- Make (standard on Linux/macOS)
Standardize your environment to avoid "it works on my machine" issues.
# We recommend labeling your venv 'mylab'
python3 -m venv mylab
source mylab/bin/activate
pip install -r requirements.txtgcloud auth application-default loginThis command will open a browser and generate a JSON credential file on your system.
NeurOps requires a Google Cloud Project with Pub/Sub and BigQuery enabled.
- Create a Project: Go to the GCP Console and create a project (e.g.,
neur-ops-demo). - Enable APIs: Enable the BigQuery API and Pub/Sub API.
- Create Pub/Sub Topic: Create a topic named
telemetry-topic. - Create BigQuery Dataset:
- Create a dataset named
neurops.
- Create a dataset named
- Create BigQuery Table:
- Create a table named
hardware_telemetryinside theneuropsdataset. - Schema:
Field Name Type Mode timestampTIMESTAMP REQUIRED device_idSTRING REQUIRED cpu_usageFLOAT NULLABLE memory_usageFLOAT NULLABLE temperatureFLOAT NULLABLE power_stateSTRING NULLABLE health_statusSTRING NULLABLE raw_jsonSTRING NULLABLE
- Create a table named
Before running, you must point the project to your specific GCP resources.
- Open config.yaml in the root directory.
- Update the following fields:
PROJECT_ID: Your exact Google Cloud Project ID.TOPIC_ID: The name of your Pub/Sub topic (e.g.,telemetry-topic).
- (Optional) Adjust the
POLL_INTERVALor add more simulated servers to theSERVERSlist.
NeurOps is designed to be Production-First. Once you have validated your workflows using the built-in emulators, you can transition to real hardware in minutes:
- Skip Emulation: You do not need to run
make startneurosimor the Docker containers in production. - Update Endpoints: In
config.yaml, replace thelocalhostURLs in theSERVERSlist with the HTTPS URLs of your actual server BMCs (e.g.,https://10.0.5.21/redfish/v1/Systems). - Authentication: Ensure the Neurosight Collector has network visibility and appropriate Redfish credentials for the target hardware.
- Scaling: The architecture is stateless and horizontally scalable; you can deploy multiple collectors to handle thousands of servers.
If you prefer the terminal, run these commands to configure your GCP infrastructure in seconds:
# Set your project ID
export PROJECT_ID="your-project-id"
gcloud config set project $PROJECT_ID
# 1. Enable Required Services
gcloud services enable pubsub.googleapis.com bigquery.googleapis.com \
storage.googleapis.com aiplatform.googleapis.com
# 2. Create Pub/Sub Topic
gcloud pubsub topics create telemetry-topic
# 3. Create BigQuery Dataset
bq mk --dataset --location=US neurops
# 4. Create BigQuery Table with Schema
bq mk --table \
--description "Hardware telemetry data" \
$PROJECT_ID:neurops.hardware_telemetry \
timestamp:TIMESTAMP,device_id:STRING,cpu_usage:FLOAT,memory_usage:FLOAT,temperature:FLOAT,power_state:STRING,health_status:STRING,raw_json:STRINGIf you see "Permission Denied" when running docker:
sudo usermod -aG docker $USER
newgrp dockerNeurOps is orchestrated via a powerful Makefile. To start everything (Simulators, Proxy, Sight, and UI) in one go:
make startneuropsTip
If you prefer to run services individually without using make, check out our Manual Service Management Guide! 🛠️
- You will see a waterfall of "Starting..." messages.
- A Status Report will appear with PIDs for all services.
- All logs will be piped into the
/logsdirectory.
Once the startup report shows that NeuroTalk UI is RUNNING, open your browser:
- URL:
http://localhost:8501
- Run
make statusand ensure all rows are green. - Check
logs/neurosight.logfor successful telemetry batches. - In the UI, ask: "Hello, what is the status of server-1?"
Warning
If make startneurops fails, check the Troubleshooting Guide. Usually, it is either a missing GCP authentication or an occupied network port.