Skip to Content
Requirements

System Requirements & Compatibility

Before installing Nanokit, ensure your local development machine and target servers meet the following requirements.


Local Development Machine

Runtime

  • Node.js: v20.0.0 or higher (LTS recommended).
  • Package Manager: npm (v10+), pnpm (v9+), or yarn.

Containerization

  • Docker Engine: v24.0.0 or higher.
  • Docker Compose: Included in Docker Desktop or as a plugin (docker-compose-plugin).

Operating Systems

Nanokit is cross-platform but relies on Docker for core orchestration.

OSSupportNotes
Linux✅ NativeOptimized for Ubuntu, Debian, CentOS, and Fedora.
macOS✅ NativeSupports both Intel (x64) and Apple Silicon (ARM64).
Windows✅ WSL2Required. PowerShell/CMD are NOT natively supported for orchestration.

[!IMPORTANT] Windows Users: You must install WSL2  (preferably Ubuntu 22.04+) and enable the “WSL Integration” in your Docker Desktop settings.


Target Servers (VPS/Cloud)

When deploying to a remote host via nkapp deploy, the server must meet these criteria:

  • OS: Any modern 64-bit Linux distribution (Ubuntu 20.04+ recommended).
  • SSH Access: Root or a user with sudo privileges.
  • Docker: If not present, Nanokit can automatically install it during the first deployment.
  • Firewall: Ports 80 (HTTP) and 443 (HTTPS) must be open for the Caddy gateway.

Core Utilities

Nanokit leverages several standard Unix utilities. Ensure these are available in your $PATH:

  • Git: Required for repository-based code synchronization (deploy.method: git).
  • SSH Client: Required for all remote environment operations and tunnels.
  • Rsync: Required for fast, incremental code synchronization (deploy.method: rsync).

Architecture Compatibility

Nanokit provides ARM64/x86_64 Binary Integrity. This ensures that containers built on a Mac (M1/M2/M3) will run correctly on Linux-based production servers without architecture mismatches.

  • Intel/AMD x64: Supported
  • Apple Silicon / ARM64: Supported