Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
N

nanocl

> 数据库
Open source

Work in progress distributed system that simplifies the orchestration of containers and virtual machines.

983 stars0 likes0 views
WebsiteGitHub

About

Work in progress distributed system that simplifies the orchestration of containers and virtual machines.

Quick install (requires Docker)

curl -fsSL https://download.next-hat.com/scripts/get-nanocl.sh | sh

Then complete the required Post‑installation steps.

Nanocl is an open‑source distributed system that reimagines cloud‑native orchestration from the ground up.

It gives developers a frictionless local to production workflow while hiding multi‑service complexity (no more ad‑hoc scripts, CORS hacks, or brittle docker‑compose sprawl). The same declarative model powers both dev and prod.

You could rebuild a K8s inside Nanocl… but you probably won't want to.

Built in Rust for efficiency & security, Nanocl targets platform engineers who need strong isolation, predictable performance, and simpler operations—without the cognitive overhead of a full Kubernetes distribution.

Table of Contents

  1. Why Nanocl
  2. Key Features
  3. Installation
  4. Quick Start
  5. Latest news
  6. Usage
  7. Architecture
  8. Demo
  9. Roadmap
  10. Security
  11. Contribute
  12. Support & Community
  13. Sponsors
  14. License
  15. Star History

Why Nanocl

Modern teams need faster iteration loops, secure multi‑tenant isolation, and a production‑grade transition path—without operating a heavyweight control plane on day one. Nanocl focuses on:

  • Dev→Prod symmetry: declarative Statefiles (YAML/TOML/JSON) stay identical across environments.
  • Low operational overhead: minimal moving parts; opinionated defaults.
  • Security & efficiency: memory‑safe implementation, reduced footprint versus scripting stacks.
  • Extensibility: resources & rules let you model networking, routes, TLS, jobs, and more.
  • Pragmatic scope: not a Kubernetes clone—lean where K8s is heavy, expressive where docker‑compose is limiting.

Key Features

  • Declarative Statefiles for cargoes (containers), resources, jobs & virtual machines.
  • End‑to‑end TLS (including internal mesh primitives in progress).
  • Dynamic routing & DNS propagation (ncproxy, ncdns).
  • Resource abstraction layer for pluggable kinds (e.g. proxy rules).
  • Jobs & cron style automation.
  • Backup & orphan cleanup tooling.
  • Multi-format config: YAML / TOML / JSON.
  • Batteries included CLI & daemon.
  • Minimal host footprint; modular optional services.

See the health-check documentation for rolling update readiness behavior and TLS secret documentation for certificate persistence.

Installation

Nanocl supports Linux, macOS, and Windows. See the Installation guide.

Quick install

Run the installer (requires Docker):

curl -fsSL https://download.next-hat.com/scripts/get-nanocl.sh | sh

Then complete the required Post‑installation steps.

If you're just evaluating, a single-node install usually takes under two minutes.

Quick Start

Create a minimal Statefile and apply it:

ApiVersion: v0.16
Cargoes:
  - Name: hello
    Containers:
      - Name: hello
        Image: ghcr.io/next-hat/documentation:0.16.0

Apply & inspect:

nanocl state apply -s ./state.yml
nanocl cargo ls
nanocl cargo logs global.hello

Cargoes and virtual machines use canonical keys in {namespace}.{name} order, such as global.hello or system.ncproxy. Collection commands return every namespace unless --namespace is provided:

nanocl cargo ls
nanocl cargo ls --namespace system
nanocl vm ls

Commands targeting an existing Cargo or VM take that key directly and do not accept a namespace option. Creation commands still default to global when --namespace is omitted.

Remove it:

nanocl state rm -s ./state.yml

Next: explore Get Started.

Nanocl is evolving fast. Feedback & early adopters shape the roadmap—see below.

Latest news

  • Release: Nanocl 0.18.0
  • Blog: Automating deployment with GitHub Actions on 24.11.2024
  • Release: End to End TLS encryption and first step for network meshing on 01.11.2024
  • Release: Man page, Backup, Remove Orphans and more on 11.06.2024
  • Event: We are invited to the Merge Berlin 2024 on 01.06.2024
  • Release: Context, SubState and more on 07.05.2024

Usage

Statefiles drive everything. Here's the Statefile we use to deploy our own documentation:

ApiVersion: v0.16
Cargoes:
  - Name: doc
    Containers:
      - Name: doc
        Image: ghcr.io/next-hat/documentation:0.16.0
Resources:
  - Name: docs.next-hat.com
    Kind: ncproxy.io/rule
    Data:
      Rules:
        - Domain: docs.next-hat.com
          Network: Public
          Locations:
            - Path: /
              Target:
                Key: global.doc.c
                Port: 80

Actions:

  • Apply: nanocl state apply -s ./state.yml
  • Remove: nanocl state rm -s ./state.yml

More object options in the References.

Architecture

Nanocl is composed of modular containerized services:

Component Purpose
nstore Persist cluster state
ndaemon REST API & control surface
nmetrics Resource usage collection
ncproxy Proxy controller with embedded nginx data plane (optional)
ncdns DNS controller with embedded dnsmasq data plane (optional)

Resources:

  • Overview
  • Get Started
  • CLI References
  • Daemon References

Single‑node simplified architecture:

Demo

Cargo & Resource

Job

VM

Roadmap

High‑level focus (non‑exhaustive):

  • Service mesh primitives (progressive rollout of secure networking).
  • Extended resource kinds (cert management, quotas).
  • Multi‑node clustering UX refinements.
  • Improved observability (tracing & richer metrics).
  • Provider abstraction layer (future pluggable runtimes).

Track changes & releases in the blog.

Security

Please report vulnerabilities via our Security Policy. Responsible disclosure helps everyone.

Contribute

Little by little, a little becomes a lot.

Join our Discord the be part of NextHat's journey to shape the future of planet-scale infrastructure management.

Every contribution is welcomed.

➡️ Bug reports, feature requests, and pull requests are the most common ways to contribute.

For example if you're not a developer yourself you could help us by improving the Documentation, too.

Learn how to setup a development environment via the Contribution Guide.

Please don't hesitate to join our team on Discord if you have any questions!

Support & Community

  • Chat: Discord
  • Issues: GitHub Issues & Discussions
  • Questions: Open a discussion or join Discord
  • Updates: Follow us on

Sponsors

GitHub ⭐️ helps us a lot to further grow our open-source ecosystem for & with our community.

Sponsors are the ones who make this project possible.

They help us to have the necessary resources for Nanocl to keep it alive and to improve it further.

If you want to become a sponsor, please use the GitHub Sponsor button.

People that sponsor us will have their name or logo displayed here, and will have access to a special role on our Discord.

Our very kind sponsors:

        daemonfire300

License

Dual licensed under either:

  • Apache License, Version 2.0
  • MIT License

You may use either license at your discretion.

Star History

We are just at the beginning of a new paradigm shift..

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Rustclicloud-nativecontainersdaemon

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category数据库
PricingOpen source

> Related tools

P
PostgreSQL
功能强大的开源关系型数据库
R
Redis
内存数据结构存储,常用作缓存与队列
M
MySQL
广泛使用的开源关系型数据库