Skip to content
 
 

Repository files navigation

NanoFleet

Management layer for nanofleet-agent instances. Deploy and manage a fleet of AI agents from a single web dashboard, extend them with plugins, and connect them to external platforms via channels.

Warning

The project is currently in beta and is therefore not ready for production use.

NanoFleet Agent NanoFleet Dashboard

Features

  • Deploy nanofleet-agent instances as isolated Docker containers
  • Web dashboard to manage agents, monitor logs, and chat in real time
  • Plugin system — extend agents with MCP tools and custom UIs
  • Agent packs — portable zip files defining an agent's identity, tools, and rules
  • Channel management — connect agents to external platforms (Telegram, ...) directly from the UI

Getting started

Note

Some browser APIs (e.g. crypto.randomUUID) require a secure context (HTTPS or localhost). Accessing the app over a plain HTTP public IP will cause errors. Use HTTPS (see below) or an SSH tunnel.

Local
cp apps/api/.env.example apps/api/.env
# Edit apps/api/.env — set ENCRYPTION_KEY, ACCESS_TOKEN_SECRET, REFRESH_TOKEN_SECRET
# Uncomment and set NANOFLEET_HOST_HOME to the absolute path on your host machine
docker compose up --build

On first boot, the API prints a temporary password and a QR code in the terminal. Scan it with an authenticator app to set up 2FA.

Production with HTTPS (Traefik + Let's Encrypt)

The docker-compose.yml includes a Traefik service that automatically provisions a TLS certificate via Let's Encrypt. It is disabled by default and activated with the prod profile.

Prerequisites: a domain name pointing to your server (port 80 and 443 open).

DOMAIN=your.domain.com \
ACME_EMAIL=you@email.com \
  docker compose --profile prod up --build -d
Production without a domain (SSH tunnel)

If you don't have a domain or want to keep the server private, you can access NanoFleet securely via an SSH tunnel — no HTTPS configuration needed:

# On your local machine
ssh -L 8080:localhost:8080 user@your-server-ip

Then open http://localhost:8080 in your browser. Traffic goes through the SSH tunnel, so the app runs in a secure context without needing a certificate.

Local development

bun install
cp apps/api/.env.example apps/api/.env
bun run dev

Reset the database:

rm apps/api/nanofleet.db

Documentation

File Description
docs/01-architecture-overview.md Monorepo structure, tech stack, data flow
docs/02-api-and-auth.md Authentication, 2FA, JWT, internal token
docs/03-docker-orchestration.md Agent lifecycle, Docker networking, log streaming
docs/04-mcp-and-plugins.md MCP protocol, plugin architecture
docs/05-agent-packs.md Agent packs format
docs/06-ui-and-design-system.md UI design system
docs/plugins/ Plugin system deep-dive

Official plugins

Plugin Description
nanofleet-tasks Kanban task manager for human-agent collaboration
nanofleet-vault Secret manager with per-agent access control

About

A self-hosted fleet manager for AI agents. Deploy agents in isolated Docker containers, manage them via a web dashboard, and extend functionality with plugins.

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages