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.
Create Account
Sign up for free and set up your organization workspace.
Install Agent
Run our one-line installer on your server to connect it.
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
System Requirements
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 1 core | 2+ cores |
| RAM | 256 MB | 512 MB |
| Disk | 100 MB | 500 MB |
| OS | Linux 4.x+, Windows 10+, macOS 12+ | Ubuntu 22.04 LTS |
| Network | Outbound 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
| Variable | Description | Default |
|---|---|---|
NEBULAOPS_TOKEN | Agent authentication token | Required |
NEBULAOPS_URL | Server URL | https://app.nebulaops.io |
NEBULAOPS_NAME | Server display name | Hostname |
NEBULAOPS_LOG_LEVEL | Log verbosity | info |
NEBULAOPS_METRICS_INTERVAL | Metrics collection interval | 30s |
NEBULAOPS_DOCKER | Enable Docker management | true |
dns Add Your First Server
There are two ways to connect a server to NebulaOps:
Option 1: SSH Connection (Agentless)
- Go to Settings in the sidebar
- Click Add Server
- Enter your server's hostname/IP, SSH port, username, and authentication method (password or SSH key)
- Click Test Connection to verify
- Click Save
Option 2: Agent-Based Connection
- Go to Settings > Agents
- Click Generate Token
- Run the install command on your server (see Installation)
- 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
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
| Shortcut | Action |
|---|---|
Ctrl+Shift+V | Paste from clipboard |
Ctrl+Shift+C | Copy selection |
Ctrl+D | Close terminal session |
Ctrl+L | Clear 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"
/var/run/docker.sock is mounted.cloud Kubernetes
Connect and manage Kubernetes clusters directly from NebulaOps.
Connecting a Cluster
- Go to Settings > Kubernetes
- Upload your
kubeconfigfile or paste the config content - Select the context to use
- 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
| Permission | Admin | Viewer |
|---|---|---|
| View servers & dashboards | Yes | Yes |
| Execute commands | Yes | No |
| Add/remove servers | Yes | No |
| Manage users | Yes | No |
| View server credentials | Yes | No |
| Docker/K8s management | Yes | No |
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!"
}
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"
}
webhook Webhooks
Configure webhooks to receive real-time notifications about server events.
Supported Events
| Event | Description |
|---|---|
server.connected | A server agent connects |
server.disconnected | A server agent disconnects |
alert.triggered | A monitoring alert fires |
alert.resolved | A monitoring alert resolves |
command.executed | A command is run on a server |
user.login | A 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%"
}
}
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
- Email: support@nebulaops.io
- Response time: Under 24 hours for all plans
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.