Metadata-Version: 2.5
Name: nerdit
Version: 0.6.3
Summary: The local AI PaaS — deploy and operate apps on your own hardware, with first-class local AI
Project-URL: Homepage, https://github.com/nerdit-ai/nerdit
Project-URL: Repository, https://github.com/nerdit-ai/nerdit
Project-URL: Issues, https://github.com/nerdit-ai/nerdit/issues
Project-URL: Changelog, https://github.com/nerdit-ai/nerdit/blob/main/CHANGELOG.md
License-Expression: Apache-2.0
License-File: LICENSE
License-File: NOTICE
Keywords: deploy,docker,gpu,local-ai,mcp,ollama,paas,self-hosted
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.11
Requires-Dist: aiosqlite>=0.20
Requires-Dist: anyio>=4
Requires-Dist: bcrypt>=4
Requires-Dist: cryptography>=42
Requires-Dist: docker>=7.0
Requires-Dist: fastapi>=0.139
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic>=2.7
Requires-Dist: pynvml>=11.5
Requires-Dist: python-multipart>=0.0.9
Requires-Dist: rich>=13.0
Requires-Dist: sse-starlette>=2.0
Requires-Dist: tomli-w>=1.0
Requires-Dist: typer[all]>=0.12
Requires-Dist: uvicorn[standard]>=0.30
Requires-Dist: websockets>=14
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pre-commit>=3.7; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Requires-Dist: mkdocs>=1.6; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.27; extra == 'docs'
Provides-Extra: mcp
Requires-Dist: mcp<2,>=1.9; extra == 'mcp'
Provides-Extra: mdns
Requires-Dist: zeroconf>=0.132; extra == 'mdns'
Description-Content-Type: text/markdown

# Nerdit

Nerdit helps independent builders and small teams deploy and update the tools
they create with AI, on their own infrastructure. Build from a folder or Git
repository, run the app as a supervised service, open its URL and connect it
to persistent databases or local models when needed.

**All current features are free during the public beta**, with up to **five
linked machines per account**. You provide the machines and pay for any
external services you choose. Apps depend on their host staying available.

```bash
nerdit serve llama3.1:8b --gpus 1   # local model, OpenAI-compatible endpoint
nerdit deploy ./my-app --wait       # build, run and wait for health
```

## How an app declares what it needs

`nerdit.toml` in the app folder:

```toml
[deploy]
name = "my-app"
port = 8000

[ai.default]
provider = "ollama"      # or "api" for an external endpoint
model = "llama3.1:8b"
```

The app starts with `OPENAI_BASE_URL` and `OPENAI_API_KEY` set. Enable the
[HTTPS proxy](https://docs.nerdit.ai/engine/networking) to serve it at
`https://<host>/my-app`; otherwise use its local loopback endpoint. Switching the model
from local to an external API is a config change; the app code does not move.

## Install

```bash
curl -fsSL https://get.nerdit.ai | sh
```

One signed archive with the CLI, the daemon and a pinned Caddy build. No
Python needed. It installs a service unit and starts the daemon.

Follow the [getting-started guide](https://docs.nerdit.ai/engine/quickstart)
for prerequisites, deployment and opening your app. This repository contains
the source, tests and contributor instructions.

From source:

```bash
git clone https://github.com/nerdit-ai/nerdit && cd nerdit
python -m venv venv && venv/bin/pip install -e ".[dev,mcp]"
(cd src/nerdit/daemon/web && npm ci && npm run build)   # dashboard, required
venv/bin/nerdit init
```

## What you get

- **Deploy** from a folder, a Git URL or a template. Dockerfile, Python and
  Node buildpacks. Versioned images, `--rollback`, `--dry-run`, `--wait`.
- **Services** with restart policy, backoff, HTTP and TCP health checks, stable
  ports, and zero-downtime cutover on redeploy.
- **URLs and TLS** from an embedded Caddy: path or subdomain routing, your own
  domains, mDNS on the LAN, an internal CA you can pin.
- **Models** via Ollama or vLLM on your GPU, or an external API. Same injected
  env vars in both cases.
- **Databases**: managed Postgres and Redis, credentials minted for you and
  bound into apps through `[db.*]`.
- **Secrets**: write-only, encrypted at rest, rotatable, with a shared scope.
- **Agents**: an MCP server with 49 tools, scoped tokens, idempotent writes,
  structured errors and an audit log. A coding agent can deploy, wire and
  diagnose apps without shell access.
- **Backups** of the control plane, with an offline restore — plus, for a
  managed database, a file-level volume tar and a logical,
  application-consistent dump (`nerdit db dump`) you can restore live.

## No telemetry

The daemon has no product telemetry. Optional cloud links, public relay traffic
and external AI APIs send the data needed for those features. The `[posthog]`
dashboard analytics hook is off by default and uses your own project if enabled.

## Platforms

Linux (Ubuntu 22.04 or 24.04, systemd), macOS on Apple Silicon, Windows through
WSL2. NVIDIA GPUs need Linux or WSL2; macOS runs models on CPU. AMD support is
experimental and behind a flag.

## Nerdit Cloud

[app.nerdit.ai](https://app.nerdit.ai) adds remote access, GitHub deployment
and hosted URLs through an outbound connection from your machine. These
features are included in the free public beta, for active accounts with up
to five linked machines; no subscription is required.

Hosted shares are private to the signed-in owner by default. Public access
requires explicit publication and is subject to the
[Terms](https://nerdit.ai/terms) and abuse enforcement. An unlinked daemon
keeps deploying, proxying and serving models locally.

Future fleet/cluster management and a separate Managed infrastructure offer
are not available as part of this delivery.

Questions or feedback: [feedback@nerdit.ai](mailto:feedback@nerdit.ai).

## License

Apache-2.0, see [LICENSE](https://github.com/nerdit-ai/nerdit/blob/v0.6.3/LICENSE). "Nerdit" and the logo are trademarks and
are not covered by the code license, see [NOTICE](https://github.com/nerdit-ai/nerdit/blob/v0.6.3/NOTICE).

## Contributing

Issues and pull requests are welcome. [CONTRIBUTING.md](https://github.com/nerdit-ai/nerdit/blob/v0.6.3/CONTRIBUTING.md)
explains how contributions land in releases.
