Skip to content

install - Nixopus Installation

The install command installs Nixopus with all required components and configuration. Provides comprehensive setup including dependencies and SSH key generation.

Quick Start

bash
# Basic installation
nixopus install

# Install with custom domains
nixopus install --api-domain api.example.com --view-domain app.example.com

# Preview installation changes
nixopus install --dry-run --verbose

Overview

The install command provides a comprehensive setup process including system validation, dependency installation, and service configuration.

Command Syntax

bash
nixopus install [OPTIONS]
OptionShortDescriptionDefault
--verbose-vShow detailed installation progressfalse
--timeout-tInstallation timeout in seconds300
--force-fReplace existing files without promptingfalse
--dry-run-dPreview installation without making changesfalse
--config-file-cPath to custom configuration fileNone
--api-domain-adDomain for API accessNone
--view-domain-vdDomain for web interfaceNone

Examples:

bash
# Standard installation
nixopus install

# Production installation with custom domains
nixopus install --api-domain api.production.com --view-domain app.production.com --timeout 600

# Preview installation with verbose output
nixopus install --dry-run --verbose

# Force installation (overwrite existing files)
nixopus install --force

Subcommands

ssh - SSH Key Generation

Generate SSH key pairs with proper permissions and optional authorized_keys integration.

bash
nixopus install ssh [OPTIONS]
OptionShortDescriptionDefault
--path-pSSH key file path~/.ssh/nixopus_rsa
--key-type-tKey type (rsa, ed25519, ecdsa)rsa
--key-size-sKey size in bits4096
--passphrase-PPassphrase for key encryptionNone
--force-fOverwrite existing SSH keysfalse
--set-permissions-SSet proper file permissionstrue
--add-to-authorized-keys-aAdd public key to authorized_keysfalse
--create-ssh-directory-cCreate .ssh directory if neededtrue
--verbose-vShow detailed outputfalse
--output-oOutput format (text, json)text
--dry-run-dPreview operationfalse
--timeout-TOperation timeout in seconds10

Examples:

bash
# Generate default RSA key
nixopus install ssh

# Generate RSA key with custom path and size
nixopus install ssh --path ~/.ssh/nixopus_rsa --key-type rsa --key-size 4096

# Generate encrypted key for production
nixopus install ssh --passphrase "secure-passphrase" --add-to-authorized-keys

deps - Dependency Installation

Install and configure system dependencies required for Nixopus operation.

bash
nixopus install deps [OPTIONS]
OptionShortDescriptionDefault
--verbose-vShow detailed installation progressfalse
--output-oOutput format (text, json)text
--dry-run-dPreview dependency installationfalse
--timeout-tInstallation timeout in seconds10

Examples:

bash
# Install all required dependencies
nixopus install deps

# Preview dependency installation
nixopus install deps --dry-run --verbose

# Get JSON output for automation
nixopus install deps --output json

Configuration

The install command reads configuration values from the built-in config.prod.yaml file and accepts command-line overrides.

Default Configuration Values

SettingDefault ValueDescription
Timeout300 secondsMaximum time to wait for installation steps
SSH Key Path~/.ssh/nixopus_rsaDefault SSH key location
SSH Key TypersaDefault SSH key algorithm
SSH Key Size4096 bitsDefault key size for RSA keys

Configuration Source

Configuration is loaded from the built-in config.prod.yaml and command-line options.

Overriding Configuration

You can override defaults using command-line options:

bash
# Use custom domains
nixopus install --api-domain api.example.com --view-domain app.example.com

# Use custom config file
nixopus install --config-file /path/to/config.yaml

# Custom timeout and force mode
nixopus install --timeout 600 --force

Error Handling

Common error scenarios and solutions:

ErrorCauseSolution
Permission deniedInsufficient file system permissionsUse sudo nixopus install
Docker not availableDocker daemon not runningStart Docker service
Port conflictsPorts already in useStop conflicting services
SSH key generation failsSSH directory permissionsFix SSH directory permissions
Installation timeoutNetwork or system issuesIncrease timeout with --timeout option

If permission issues occur, use sudo:

bash
sudo nixopus install --verbose
  • preflight - Run system checks before installation
  • service - Manage installed services
  • conf - Configure installed services
  • uninstall - Remove Nixopus installation

Made with love
Released under the Functional Source License (FSL)