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.
- Why Nanocl
- Key Features
- Installation
- Quick Start
- Latest news
- Usage
- Architecture
- Demo
- Roadmap
- Security
- Contribute
- Support & Community
- Sponsors
- License
- Star History
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.
- Declarative Statefiles for cargoes (containers), resources, jobs & virtual machines.
- End‑to‑end TLS (including internal mesh primitives in progress).
- Dynamic routing & DNS propagation (
nproxy
,ncproxy
,ndns
). - 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.
Nanocl supports Linux, macOS, and Windows. See the Installation guide.
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.
Create a minimal Statefile and apply it:
ApiVersion: v0.16
Cargoes:
- Name: hello
Container:
Image: ghcr.io/next-hat/documentation:0.16.0
Apply & inspect:
nanocl state apply -s ./state.yml
nanocl cargo ls
nanocl cargo logs hello
Remove it:
nanocl state rm -s ./state.yml
Next: explore Get Started.
Nanocl is evolving fast. Feedback & early adopters shape the roadmap—see below.
- 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
Statefiles drive everything. Here's the Statefile we use to deploy our own documentation:
ApiVersion: v0.16
Cargoes:
- Name: doc
Container:
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: doc.global.c
Port: 80
Actions:
- Apply:
nanocl state apply -s ./state.yml
- Remove:
nanocl state rm -s ./state.yml
More object options in the References.
Nanocl is composed of modular containerized services:
Component | Purpose |
---|---|
nstore | Persist cluster state |
ndaemon | REST API & control surface |
nmetrics | Resource usage collection |
nproxy | Data‑plane proxy for containers/VMs (optional) |
ncproxy | Reconciles proxy config (optional) |
ndns | DNS records manager (optional) |
ncdns | DNS reconciliation (optional) |
Resources:
Single‑node simplified architecture:
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.
Please report vulnerabilities via our Security Policy. Responsible disclosure helps everyone.
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! 🤗
- Chat: Discord
- Issues: GitHub Issues & Discussions
- Questions: Open a discussion or join Discord
- Updates: Follow us on 𝕏
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 |
Dual licensed under either:
You may use either license at your discretion.
We are just at the beginning of a new paradigm shift..