Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Nodevisor Logo

nodevisor

The umbrella package — one import for the entire Nodevisor platform.

Part of Nodevisor — TypeScript Infrastructure Automation Platform

Install

npm install nodevisor

Quick Start

import $, { OS, FS, Docker, DockerCluster, DockerNode, NodeWeb } from 'nodevisor';

// Run shell commands
const hostname = await $`hostname`.text();

// Use modules on remote servers
const $server = $.connect({ host: '10.0.0.10', username: 'root' });
const arch = await $server(OS).arch();
const content = await $server(FS).readFile('/etc/hostname');

// Build and deploy clusters
const cluster = new DockerCluster({
  name: 'production',
  nodes: [new DockerNode({ host: '10.0.0.10' })],
});

cluster.addDependency(new NodeWeb({
  name: 'api',
  appDir: './apps/api',
  domains: ['api.example.com'],
  port: 3000,
}));

await cluster.deploy();

What's Included

nodevisor re-exports every module, type, and utility from the Nodevisor ecosystem.

System Modules

Export Package Description
OS @nodevisor/os Hostname, arch, uptime, reboot
FS @nodevisor/fs File operations (read, write, chmod, etc.)
Env @nodevisor/env Environment variables
Packages @nodevisor/packages Package manager abstraction
Services @nodevisor/services Systemd service control
PWSH @nodevisor/pwsh PowerShell command builder

Security Modules

Export Package Description
Auth @nodevisor/auth Password management
Users @nodevisor/users User account management
Groups @nodevisor/groups Group management
AuthorizedKeys @nodevisor/authorized-keys SSH authorized keys
SSH @nodevisor/ssh SSH server management
UFW @nodevisor/ufw Firewall management

Orchestration

Export Package Description
Docker @nodevisor/docker Docker engine, Swarm, Compose, Stack
Cluster @nodevisor/cluster Abstract cluster primitives
Builder @nodevisor/builder Image builder interface
Registry @nodevisor/registry Container registry interface
AWS @nodevisor/aws AWS CLI and ECR

Pre-Built Services

import {
  Traefik, Postgres, Redis,
  NodeWeb, Nextjs, WireGuard, Whoami,
  DockerBuilder, NodeBuilder,
  DockerRegistry, DockerRegistryLocal,
  DockerCluster, DockerNode, DockerSwarm,
} from 'nodevisor';

When to Use This Package

Use nodevisor when you want convenience — one dependency, one import source, everything available.

import $, { Docker, UFW, Users, SSH } from 'nodevisor';

Use individual packages when you want smaller bundles or only need specific functionality:

import $ from '@nodevisor/shell';
import Docker from '@nodevisor/docker';

Related Packages

Documentation

Full documentation available at nodevisor.com/docs/packages/nodevisor

License

Nodevisor uses a single O'Saasy license across all packages and applications. See the full terms in LICENSE.