selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

nanocl logo

Self-host nanocl

nanocld-0.18.1

Container and VM orchestrator with declarative Statefiles

BetaOpen SourceApache-2.0
Updated9 hours ago
LanguageRust
Setup difficultyAdvanced
Stars
1 004
Requires
Docker or Podman
Install with Linux
nanocl screenshot 1nanocl screenshot 2nanocl screenshot 3

What is nanocl?

Nanocl is an open-source tool for running containers and virtual machines on your own hardware. It gives you a command-line interface (nanocl) and a background daemon (nanocld) that works with Docker or Podman, keeping the desired state in a CockroachDB database (nstore). You describe your workloads — groups of containers called Cargoes, plus VMs, scheduled jobs, secrets, and network rules — in declarative Statefiles written as YAML, TOML, or JSON, then apply them with a single command. Built-in controllers handle HTTP/TCP routing with TLS (via NGINX) and service DNS (via dnsmasq). The system is designed mainly for single-node use and does not yet provide automatic multi-node scheduling or high availability. You can install it with a one-line script, prebuilt binaries for Linux, macOS, and Windows, a Debian package, or by compiling from source with Cargo. The code is dual-licensed under MIT OR Apache-2.0 and is actively maintained by the Next Hat organization.

Should you self-host nanocl?

nanocl scores 52/100 on selfhost.directory (how scoring works) and ranks #6 of 11 in Container Orchestration. It has 1 004 GitHub stars.

It shipped 8 stable releases in the past year. The latest, nanocl-0.18.1, came out on 26 September 2026.

Setup is advanced: plan for several services and some ongoing maintenance. It is Apache-2.0-licensed and written mostly in Rust.

Its closest alternative on selfhost.directory is uncloud (65/100, 5 584 stars). It scores higher overall, so compare the two before you pick. See nanocl vs uncloud side by side.

Features

  • CLI and REST API
  • Container Orchestration
  • Declarative Statefile configuration
  • HTTP/TCP proxy with TLS
  • Job Scheduling
  • Multi-container Cargoes
  • Resource Metrics
  • Secrets Management
  • Service DNS
  • Single-node operationMulti-node features are experimental
  • State backup
  • Statefile templating
  • Virtual Machine Management

nanocl README

How to install nanocl

Install nanocl with Linux

Docker or Podman

curl -LO https://github.com/next-hat/nanocl/releases/download/nanocl-0.18.0/nanocl_0.18.0_linux_amd64.tar.gz tar -xzf nanocl_0.18.0_linux_amd64.tar.gz sudo mv ./bin/nanocl /usr/local/bin sudo mv ./share/man/man1/* /usr/local/share/man/man1

Prebuilt binary for Linux amd64

How to configure nanocl

  • --advertise-addrAddress advertised to other nodes

    Address advertised to other nodes

  • --certOptional API TLS certificate material

    Optional API TLS certificate material

  • --cert-caOptional API TLS CA certificate

    Optional API TLS CA certificate

  • --cert-keyOptional API TLS certificate key

    Optional API TLS certificate key

  • --conf-dir/etc/nanoclConfiguration directory

    Configuration directory

  • --docker-hostunix:///var/run/docker.sockDocker daemon endpoint

    Docker daemon endpoint

  • --gatewaydetected when omittedHost gateway

    Host gateway

  • --gid0Group ID for the Unix socket

    Group ID for the Unix socket

  • --hostnamedetected when omittedNode name

    Node name

  • --hostsunix:///run/nanocl.sockAPI listeners for nanocld daemon

    API listeners for nanocld daemon

  • --nodeExperimental node endpoints to join

    Experimental node endpoints to join

  • --passwordOptional API TLS password settings

    Optional API TLS password settings

  • --state-dir/var/lib/nanoclRuntime state directory

    Runtime state directory

  • --store-addrCockroachDB connection address

    CockroachDB connection address

  • --verifyOptional API TLS verification

    Optional API TLS verification

nanocl releases & version history

More in Infrastructure

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…