login Login Get Started Free

Documentation

Everything you need to master NebulaOps. Guides, tutorials, API reference, and more.

rocket_launch Getting Started

Welcome to NebulaOps! Get up and running in minutes with our AI-powered server management platform. Follow these steps to connect your first server and start managing your infrastructure with natural language.

1

Create Account

Sign up for free and set up your organization workspace.

2

Install Agent

Run our one-line installer on your server to connect it.

3

Start Chatting

Use AI to manage, monitor, and troubleshoot your servers.

download Installation

Install the NebulaOps agent on your servers to connect them to the platform. The agent runs as a lightweight background service and communicates securely with NebulaOps over HTTPS.

Linux (Ubuntu/Debian)

curl -fsSL https://get.nebulaops.io/install.sh | sudo bash

This script will automatically detect your distribution, install dependencies, and start the nebulaops-agent systemd service.

Linux (RHEL/CentOS/Fedora)

curl -fsSL https://get.nebulaops.io/install.sh | sudo bash
# Or via RPM:
sudo rpm -i https://releases.nebulaops.io/latest/nebulaops-agent.rpm

Windows

# PowerShell (Administrator)
iwr -useb https://get.nebulaops.io/install.ps1 | iex

The installer registers NebulaOps as a Windows Service that starts automatically on boot.

macOS

brew tap nebulaops/tap
brew install nebulaops-agent

Docker

docker run -d --name nebulaops-agent \
  --restart unless-stopped \
  -e NEBULAOPS_TOKEN=your-token-here \
  -v /var/run/docker.sock:/var/run/docker.sock \
  nebulaops/agent:latest
After installation, the agent will appear in your NebulaOps dashboard within 30 seconds. Use the token from your dashboard's Settings > Agents page.

System Requirements

ComponentMinimumRecommended
CPU1 core2+ cores
RAM256 MB512 MB
Disk100 MB500 MB
OSLinux 4.x+, Windows 10+, macOS 12+Ubuntu 22.04 LTS
NetworkOutbound HTTPS (443)Outbound HTTPS (443)

settings Configuration

NebulaOps can be configured via environment variables, a config file, or the web dashboard.

Configuration File

The agent config file is located at:

  • Linux/macOS: /etc/nebulaops/agent.yml
  • Windows: C:\ProgramData\NebulaOps\agent.yml
# /etc/nebulaops/agent.yml
server:
  url: https://nebulaops.tech
  token: your-agent-token

agent:
  name: my-server
  labels:
    env: production
    role: web

monitoring:
  interval: 30s
  metrics:
    - cpu
    - memory
    - disk
    - network

security:
  allowed_commands: all    # or: restricted
  require_approval: false  # require admin approval for commands
  audit_log: true

Environment Variables

VariableDescriptionDefault
NEBULAOPS_TOKENAgent authentication tokenRequired
NEBULAOPS_URLServer URLhttps://app.nebulaops.io
NEBULAOPS_NAMEServer display nameHostname
NEBULAOPS_LOG_LEVELLog verbosityinfo
NEBULAOPS_METRICS_INTERVALMetrics collection interval30s
NEBULAOPS_DOCKEREnable Docker managementtrue
Environment variables take precedence over the config file. This is useful for Docker deployments and CI/CD pipelines.

dns Add Your First Server

There are two ways to connect a server to NebulaOps:

Option 1: SSH Connection (Agentless)

  1. Go to Settings in the sidebar
  2. Click Add Server
  3. Enter your server's hostname/IP, SSH port, username, and authentication method (password or SSH key)
  4. Click Test Connection to verify
  5. Click Save
SSH connections work instantly with no agent installation required. NebulaOps connects on-demand when you run commands.

Option 2: Agent-Based Connection

  1. Go to Settings > Agents
  2. Click Generate Token
  3. Run the install command on your server (see Installation)
  4. The server appears automatically in your dashboard

Server Behind NAT/Firewall

If your server is behind a NAT or firewall, the agent-based approach is recommended since it initiates outbound connections only. No inbound ports need to be opened. The agent maintains a persistent WebSocket connection to the NebulaOps server.

chat AI Chat

The AI Chat is NebulaOps's core feature. It lets you manage your servers using natural language instead of memorizing commands.

What You Can Do

  • System info — "What's the CPU and memory usage on web-server-01?"
  • Troubleshooting — "Why is nginx returning 502 errors?"
  • Package management — "Update all packages on my Ubuntu servers"
  • File operations — "Show me the last 50 lines of /var/log/syslog"
  • Process management — "Find and kill the process using port 8080"
  • Docker — "Restart the nginx container and show its logs"
  • Multi-server — "Check disk space on all production servers"

Multi-Server Commands

Prefix your message with server names or use groups:

@web-01 @web-02 Check if nginx is running
@production Restart the API service
@all Show disk usage
The AI always explains what commands it will run before executing them. For destructive operations, it will ask for confirmation.

terminal Terminal

The built-in web terminal provides a full SSH session directly in your browser. No local SSH client needed.

Features

  • Full interactive shell (bash, zsh, etc.)
  • Tab completion and command history
  • Copy/paste support
  • Resizable terminal window
  • Multiple simultaneous sessions
  • Session recording and audit logging

Keyboard Shortcuts

ShortcutAction
Ctrl+Shift+VPaste from clipboard
Ctrl+Shift+CCopy selection
Ctrl+DClose terminal session
Ctrl+LClear terminal screen

deployed_code Docker Management

NebulaOps provides a visual Docker management interface with AI-powered assistance.

Dashboard Features

  • Containers — View, start, stop, restart, and remove containers
  • Images — List, pull, and remove images
  • Volumes — Manage persistent data volumes
  • Networks — View and manage Docker networks
  • Compose — Deploy and manage Docker Compose stacks
  • Logs — Real-time container log streaming

AI Docker Commands

# In the AI Chat, you can say:
"Deploy an nginx container on port 80"
"Show logs for the postgres container"
"Scale the web service to 3 replicas"
"What containers are using the most memory?"
"Create a Docker Compose for a WordPress + MySQL stack"
Docker management requires the Docker socket to be accessible. When using the agent, ensure /var/run/docker.sock is mounted.

cloud Kubernetes

Connect and manage Kubernetes clusters directly from NebulaOps.

Connecting a Cluster

  1. Go to Settings > Kubernetes
  2. Upload your kubeconfig file or paste the config content
  3. Select the context to use
  4. Click Connect

Supported Operations

  • View and manage pods, deployments, services, and ingresses
  • Real-time pod logs and exec into containers
  • Scale deployments up and down
  • Apply YAML manifests via AI chat
  • Monitor cluster resource usage
  • Rollback deployments

AI Kubernetes Commands

"Show all pods in the production namespace"
"Scale the frontend deployment to 5 replicas"
"Why is the payment-service pod crashing?"
"Show resource usage across all nodes"
"Apply this deployment manifest: ..."

shield Security

NebulaOps takes security seriously. Here's how your infrastructure is protected.

Authentication

  • JWT-based authentication with configurable token expiry
  • Role-based access control (Admin / Viewer)
  • Strong password policy: 12+ characters, mixed case, numbers, special characters
  • Brute-force protection with rate limiting

Data Security

  • All connections encrypted with TLS 1.2+
  • Server credentials encrypted at rest
  • HSTS enabled with 1-year max-age
  • CSP, X-Frame-Options, and other security headers enforced

Access Control

PermissionAdminViewer
View servers & dashboardsYesYes
Execute commandsYesNo
Add/remove serversYesNo
Manage usersYesNo
View server credentialsYesNo
Docker/K8s managementYesNo
Never share your admin credentials. New users are assigned the Viewer role by default. Promote to Admin only when necessary.

key API Authentication

All API requests require a valid JWT bearer token. Obtain one by calling the login endpoint.

POST /api/login

Authenticate and receive an access token.

Request Body:

{
  "username": "your-username",
  "password": "your-password"
}

Response (200):

{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "bearer"
}

Using the Token

Include the token in the Authorization header for all subsequent requests:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

POST /api/register

Create a new user account. New accounts receive the viewer role.

{
  "username": "new-user",
  "email": "user@example.com",
  "password": "SecurePassword123!"
}
Tokens expire after 24 hours by default. Re-authenticate to obtain a fresh token.

dns Servers API

GET /api/servers

List all connected servers. Viewers receive limited data (name and type only). Admins see full details.

Response (200):

{
  "servers": [
    {
      "name": "web-01",
      "server_type": "ssh",
      "host": "192.168.1.10",  // admin only
      "port": 22,              // admin only
      "connected": true
    }
  ]
}

POST /api/servers

Add a new server. Admin only.

{
  "name": "web-02",
  "server_type": "ssh",
  "host": "192.168.1.11",
  "port": 22,
  "username": "root",
  "password": "server-password"
}

DELETE /api/servers/{name}

Remove a server. Admin only.

DELETE /api/servers/web-02

code Commands API

POST /api/execute

Execute a command on a connected server. Admin only.

Request Body:

{
  "server": "web-01",
  "command": "df -h"
}

Response (200):

{
  "output": "Filesystem  Size  Used  Avail  Use%  Mounted on\n/dev/sda2  118G  33G  80G  29%  /",
  "exit_code": 0,
  "execution_time": 0.45
}

POST /api/chat

Send a natural language message to the AI assistant.

{
  "message": "Check disk space on web-01",
  "server": "web-01"
}
The execute endpoint runs commands as the configured server user. Use with caution and implement proper access controls.

webhook Webhooks

Configure webhooks to receive real-time notifications about server events.

Supported Events

EventDescription
server.connectedA server agent connects
server.disconnectedA server agent disconnects
alert.triggeredA monitoring alert fires
alert.resolvedA monitoring alert resolves
command.executedA command is run on a server
user.loginA user logs in

Webhook Payload

{
  "event": "alert.triggered",
  "timestamp": "2026-02-13T16:30:00Z",
  "data": {
    "server": "web-01",
    "metric": "cpu",
    "value": 95.2,
    "threshold": 90,
    "message": "CPU usage exceeded 90%"
  }
}
Webhooks are sent as HTTP POST requests with a X-NebulaOps-Signature header for verification. Configure webhooks in Settings > Integrations.

help FAQ

How does NebulaOps connect to my servers?

NebulaOps supports two connection methods: direct SSH (agentless) where NebulaOps connects on-demand, or agent-based where a lightweight agent on your server maintains a persistent outbound connection.

Is my data secure?

Yes. All connections are encrypted with TLS. Server credentials are encrypted at rest. We never store command output longer than the session. See our Privacy Policy for details.

Can I use NebulaOps with servers behind a firewall?

Yes. The agent-based connection uses outbound HTTPS only (port 443). No inbound ports need to be opened on your servers.

What operating systems are supported?

Linux (Ubuntu, Debian, CentOS, RHEL, Fedora, Alpine), Windows Server 2016+, and macOS 12+.

How does the AI know what commands to run?

Our AI model understands server administration, DevOps, and infrastructure management. It translates your natural language requests into appropriate commands, explains what it will do, and asks for confirmation before executing anything destructive.

What's the difference between Admin and Viewer roles?

Admins can execute commands, add/remove servers, and manage users. Viewers can only see dashboards and monitoring data. New accounts are Viewers by default.

update Changelog

v1.4.0 — February 2026

  • Added Kubernetes cluster management
  • Enhanced RBAC with granular permissions
  • GDPR and CCPA compliance improvements
  • New security headers and HSTS enforcement
  • Improved Docker container management UI

v1.3.0 — January 2026

  • Multi-server terminal sessions
  • Infrastructure as Code (Terraform/Ansible) support
  • Webhook integrations
  • Dark mode improvements

v1.2.0 — December 2025

  • AI Chat improvements with context awareness
  • Docker Compose stack management
  • Network monitoring dashboard
  • Alert system with email notifications

v1.1.0 — November 2025

  • Security scanning and CVE detection
  • Backup management
  • Improved terminal performance

v1.0.0 — October 2025

  • Initial release
  • AI-powered chat for server management
  • Web terminal
  • Docker management
  • User authentication and roles

support Support

Need help? We're here for you.

Contact Us

Community

  • GitHub Discussions for feature requests and community support
  • Discord community for real-time help

Enterprise Support

Enterprise plans include dedicated support with SLA guarantees, priority bug fixes, onboarding assistance, and a dedicated account manager. Contact enterprise@nebulaops.io for details.

info Documentation loaded successfully.